המכללה האקדמית של ת"א-יפו בית הספר למדעי המחשב מבוא למדעי המחשב בשפת C: חוברת תרגילים

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "המכללה האקדמית של ת"א-יפו בית הספר למדעי המחשב מבוא למדעי המחשב בשפת C: חוברת תרגילים"

Transcript

1 המכללה האקדמית של ת"א-יפו בית הספר למדעי המחשב מבוא למדעי המחשב בשפת C: חוברת תרגילים כל הזכויות בחוברת שמורות לכותבים. כל שימוש בחומר הכלול בחוברת זו, שאינו לצורכי תרגול עצמי ו/או הגשת תרגילים במסגרת חובות ההגשה של הקורס, כגון פרסום, שכפול, מכירה והפצה, בכל סוגי המדיה, בין אם למטרת רווח ובין אם לא, אסור בהחלט.

2 תוכן עניינים 3... סביבת העבודה Visual Studio 200 הנחיות להגשת תרגילים... דגשים בפתרון התרגילים... סגנון כתיבה ותיעוד של תוכניות... 2 אלגוריתמים פשוטים... טיפוסי נתונים... ביטויים... משפטי תנאי... 9 לולאות... 2 פונקציות... 2 רקורסיות... 3 מערכים... מצביעים... רשומות

3 סביבת העבודה Visual Studio 200 פתיחת סביבת העבודה. פתחו את Microsoft Visual Studio 200 דרך סרגל "התחל" 2. בהפעלה הראשונה יופיע חלון לבחירת סביבה. בחרו את האופציה הראשונה: General Development Settings הערה: במקרה של טעות/שינוי ניתן להגיע שוב לתפריט זה. לאחר תחילת העבודה בסביבה, ע"י בחירת תפריט Tools -> Import and Export Settings Wizard 3

4 יצירת Project ראשון ב- Solution חדש. לפתוח את תפריט Project File New.2 בחרו בחלון Project Type את Visual C++ Win32.3 בחלון Templates בחרו את Win32 Console Application. בכדי להשלים את המשימה, יש לרשום שם ה- Solution וה- Project..5 לחצו.OK שם ה- Solution יצירת Solution חדש מסלול / מיקום לשמירה שם ה- Project

5 . לחצו.Next 7. סמנו פרויקט ריק, וסיום.. לחצו.Finish סימון לפתיחת אפליקציה ריקה 5

6 הוספת קובץ cpp ל- Project. לחצו עם הכפתור הימני בעכבר על תיקיית Source Files מתחת ל- Project המתאים, אשר נמצאת בחלון Solution Explorer מצד ימין..2 בחירו Add New Item 3. בחרו בחלון ה Categories את ה Code ובחלון ה Templates את ++C File. תנו שם לקובץ הקוד. סיומו אוטומטית יהיה.".cpp".5 לחצו.Add

7 פתיחת Project נוסף באותו Solution. לפתוח את תפריט Project File New 2. חשוב לוודא שבחרתם את Add To Solution ולא יצירת Solution חדש. 3. המשיכו כמו בפתיחת Project ראשון. הערה: דרך נוספת להוספת Project חדש ל- Solution קיים היא ע"י לחיצה עם הלחצן הימני של העכבר על Solution ב- Solution.Explorer בחירת האפשרות להוספה לאוגדן קיים 7

8 קומפילציה. הקליקו עם הלחצן הימני על הפרויקט הרצוי ובחרו.Build

9 הרצה. וודאו שה- Project אותו אתם רוצים לקמפל ולהריץ הוא ה- Active Project )שמו מופיע מודגש ב- Solution.)Explorer אם לא הקליקו עם הלחצן הימני על הפרויקט הרצוי ובחרו Set as StartUp Project 9

10 .2 בתפריט Debug בחרו באופציה Start without debugging )או בקיצור )CTRL+F5

11 הנחיות להגשת תרגילים. עליכם להגיש את התרגילים בצורה ברורה ומסודרת. הקפידו לרשום על גבי התרגיל את שמכם המלא, מספר תעודת זהות, שם הקבוצה אליה אתם רשומים, מספר התרגיל ותאריך ההגשה. שדכו ביחד את כל הדפים של התרגיל אבל אל תכניסו אותם למעטפות או ניילונים מכל סוג שהוא. ההגשה היא לתא של בודק התרגילים של קבוצתכם )לא לתא של המרצה/מתרגל(. שימו לב: שמרו לכם עותק מלא של התרגיל שהגשתם! 2. כל ההנחיות הבאות מתיחסות שאלות שבהן פתרון השאלה היא תוכנית או פונקציה בשפת.C/C++ בשאלות אחרות יצוין אופי ההגשה בהערה מתאימה. 3. עליכם להגיש את התוכניות והפונקציות המהוות את פתרון התרגיל מודפסות )הדפסה של קובץ.).cpp. אופן תיעוד התוכניות והפונקציות מפורט בהמשך תחת הכותרת "סגנון כתיבה ותיעוד של תוכניות". 5. עליכם לכלול בפתרון גם דוגמאות הרצה, כלומר להדפיס את הפלט של התוכנית/פונקציה עבור קלטים מייצגים. קלטים מייצגים יכללו קלט "טיפוסי כללי" ומקרי קצה. יש להפעיל שיקול דעת בבחירת הקלטים המייצגים. את דוגמת ההרצה יש להעתיק מן המסך לקובץ טקסט ).txt( במלואה ללא עריכה.. אין להגיש קוד אשר אינו עובר קומפילציה בהצלחה. 7. בתשובה לשאלה שבה אתם מתבקשים לכתוב פונקציה, כתבו גם תוכנית )main( שמריצה אותה וצרפו אותה כחלק מהפתרון. לפעמים יש הוראות מפורשות בגוף השאלה כיצד יש לבדוק את הפונקציה וכאשר אין הוראות כאלה הפעילו שיקול דעת בהתאם למוסבר לעיל. ניתן לבדוק מספר פונקציות בעזרת main אחת כדי לחסוך במקום ובהדפסות, כל עוד התוצאה הסופית קריאה ובהירה )ראו "דגשים בפתרון תרגילים"(. דגשים בפתרון התרגילים הקפידו על סגנון כתיבה ותיעוד נכונים כפי שמפורט בפרק "סגנון כתיבה ותיעוד של תוכנית". אלא אם נאמר אחרת, תוכניות/פונקציות אינן צריכות לבדוק את תקינות הקלט ואינן צריכות לטפל בקלט לא תקין. אלא אם נאמר אחרת, לפונקציות אסור לשנות את הקלט שלהן. בכתיבת הפתרונות עליכם להקפיד על נכונות ויעילות של האלגוריתמים. במימוש האלגוריתמים עליכם להקפיד על שימוש נכון ויעיל בתחביר של שפת C. עליכם להקפיד על הנדסת תוכנה טובה ובפרט להקפיד על חלוקה הגיונית לפונקציות ועל מודולריות. במיוחד, אם ה- main או אחת הפונקציות האחרות יוצאת ארוכה מדי דאגו לפצל אותה בצורה מושכלת לפונקציות משנה. בפתרונות מותר להשתמש אך ורק בחומר )שיטות ופקודות בשפה( שנלמד בקורס עד לפרק הרלבנטי

12 סגנון כתיבה ותיעוד של תוכניות סגנון כתיבה נוח ותיעוד נכון הכרחיים לצורך קריאה והבנה של התוכנית שכתבתם, שימוש בה ותחזוקה ופיתוח שלה בעתיד. לכן, בבדיקת התרגילים יבדקו בנוסף לנכונות ויעילות התוכנית, גם סגנון הכתיבה ואופן התיעוד שלה. בנושא זה אין נוסחה אחת מחייבת ויש מקום גם לשיקול דעת וגם לטעם אישי. ההנחיות שיפורטו להלן מסכמות את מה שנראה לנו כדרישות בסיסיות ומקובלות על הרוב. תיעוד:. כל תוכנית תתחיל בכותרת, שתכיל: שם הקובץ. א. הסבר כללי של מה עושה התוכנית. ב. שם המתכנת, ותאריך כתיבת התוכנית. ג. 2. כל אלגוריתם שאינו טריביאלי מחויב בתיעוד. התיעוד יתחלק לשניים: א. הסבר כללי של האלגוריתם הכולל: אפיון מדויק של הקלט והפלט, אופן פעולת האלגוריתם ושיקולים חשובים במימוש. חלק זה ייכתב בצמוד ולפני קטע התוכנית המממש את האלגוריתם. ב. לשורות קוד חשובות יוצמד הסבר קצר וענייני המפרט את תפקידן של שורות אלו במכלול. 3. בחירת שמות משמעותיים למשתנים לקבועים ולפונקציות. שם מוצלח יכול לחסוך הערות תיעוד.. כל פונקציה נוספת בה משתמשת התוכנית תתועד אף היא. התיעוד יכלול: הסבר קצר של מה תפקיד הפונקציה )מה היא עושה(. א. איך מתבצע השימוש בפונקציה: יפורט תפקידו של כל אחד מהפרמטרים של הפונקציה בין אם הוא פרמטר ב. קלט, פלט, או שניהם, וכן יפורט מה הוא הערך המוחזר של הפונקציה. האלגוריתם שבבסיסה, כפי שמוסבר בסעיף 2. ג. יש לציין במפורש מה הן ההנחות על הקלט, אם יש כאלה. ד. 5. את התיעוד ושמות המשתנים יש לכתוב באנגלית בלבד ובמילים מן המילון האנגלי למשל sum ולא schum סגנון:. אינדנטציה נוחה. 2. שימוש בשורות רווח, קוים וכותרות להפרדה בין חלקים עיקריים בתוכנית והבלטה ויזואלית של המבנה הלוגי שלה. 3. שמות קבועים יש לכתוב באותיות גדולות בלבד, הפרדה בין מילים )בשם הקבוע( תתבצע ע"י קו תחתון )התו '_'.). בשמות משתנים ופונקציות בני יותר ממילה אחת, הפרדה בין מילים תתבצע לפי אחת מהשיטות המקובלות שתפורטנה בהרצאה )למשל, ע"י אות גדולה בתחילת כל מילה(. 5. ריכוז הגדרות של קבועים, הגדרות טיפוסים, הצהרות על פונקציות, וכו' תחת כותרות מתאימות לפני ה- main. 2

13 דוגמא לתוכנית מתועדת: //addnum.cpp //This program adds two integers entered by the user and prints the //result. //Mully 82 September 200 // #include <iostream> using namespace std; // Algorithm (documented for pedagogical purpose only): // Input: two integers. // Output: their sum. //. Ask the user for two numbers. // 2. Carry the computation and store the result in sum. // 3. Print out the result. void main)( //declaration of variables int num; int num2; int sum; //input by user //input by user //getting input from user cout << "Please enter two integers separated by a space:\n"; cin >> num >> num2; //computation sum = num + num2; //outputing the result cout << num << "+" << num2 << " = " << sum << "\n\n"; 3

14 אלגוריתמים פשוטים: 22 שאלה :,38A 6,5 7, 2 תרגמו לבסיס : א. 5 5 תרגמו לבסיס,5,6DA 6,7 : 2 ב. 7 95,3EA 6, 2 תרגמו לבסיס : ג. תרגמו למשלים ל- 2 בשמונה ביטים:,-2, 2 0,-09 ד. נתונים המספרים הבאים בייצוג משלים ל- 2 בשמונה ביטים. מצאו את ערכם העשרוני: ה.,,, פרטו את חישוביכם. הערה: התשובות לשאלות 2-5 צריכות להכתב בפסאודו-קוד ולא כתוכניות. אפשר להגיש אותן לא מודפסות, בכתב יד ברור וקריא. שאלה 2: כתבו אלגוריתם הפותר כל משוואה מהטיפוס = 0 b ax + )כלומר - כל משוואה ליניארית בנעלם אחד(. קלט: מקדמי המשוואה a ו- b )מספרים ממשיים(. פלט: הדפסת פתרון x, או הודעה מתאימה אם אין למשוואה פתרון )ממשי(, או שיש לה אינסוף פתרונות. שאלה 3: כתבו אלגוריתם המקבל מספר טבעי )שלם גדול מאפס(, ובודק האם ספרות המספר מהוות סדרה עולה ממש משמאל לימין. קלט: מספר טבעי -.num פלט: כן, אם הספרות של num מהוות סדרה עולה ממש משמאל לימין, לא, בכל מקרה אחר. לדוגמא, ספרות המספר 2579 מהוות סדרה עולה, אך ספרות המספר אינן מהוות סדרה עולה. הערה: סדרה עולה ממש אם כל מספר בסדרה גדול ממש מקודמו. למשל,,,2 3 עולה ממש ואילו,2,2,3 עולה אך אינה עולה ממש. סדרה באורך אחד היא סדרה עולה ממש. שאלה 4: כתבו אלגוריתם המדפיס את לוח הכפל. קלט: מספר טבעי n. פלט: הדפסה של לוח-כפל בגודל. n n לדוגמא, עבור 5=n האלגוריתם ידפיס: הערה - על מנת להדפיס רווח מתאים בין העמודות ניתן להשתמש בפעולה הבסיסית: "הדפס רווח עד לתחילת עמודה".

15 שאלה 5: כתבו אלגוריתם המדפיס כוכביות בצורת שעון חול. קלט: מספר טבעי אי זוגי - n. פלט: הדפסת כוכביות בצורה של שעון חול, שבסיסיו )העליון והתחתון( בעלי n כוכביות. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * לדוגמא, עבור 7=n האלגוריתם ידפיס: שאלה 6: כתבו והריצו תוכנית שכותבת את שמכם, שם הקורס ומספר ת"ז שלכם בשתי שורות נפרדות. פעלו לפי הנאמר בסעיף "הנחיות להגשת תרגילים". 5

16 טיפוסי נתונים: שאלה : הגדירו קבועים המייצגים את הדברים הבאים )אין צורך לכתוב תוכנית(:.שנה זו )שנת 2(. 2.התו 'x' שמשמש למטרה הבאה: הקשת x ע"י המשתמש תסיים את התוכנית. הערה: זכרו לתת לקבועים שמות משמעותיים ולהשתמש אך ורק באותיות גדולות ובקו תחתון )'_'(. לדוגמה, הגדרת הקבוע יכולה להיעשות כך: ;3.458 = PI.const double הערה: אפשר להגיש את התשובה לא מודפסת, בכתב יד ברור וקריא. שאלה 2: נתונה התוכנית הבאה: #include <iostream> using namespace std; void main() double x, y; cout << "please enter a length in centimeters: "; cin >> x; y = * x; cout << "The length is equal " << y << " in inches\n"; שכתבו תוכנית זו עפ"י כללי כתיבה בהירה. הקפידו על שמות משמעותיים למשתנים, אינדנטציה, הגדרת קבועים, תיעוד, וכו'. הערה: אפשר להגיש את התשובה לא מודפסת, בכתב יד ברור וקריא. שאלה 3: כתבו תוכנית שקולטת רדיוס של מעגל ומדפיסה את היקפו ושטחו של המעגל. קלט: רדיוס המעגל. פלט: שטח והיקף המעגל. הערה: זכרו לכתוב עפ"י כללי כתיבה בהירה. פעלו לפי הנאמר בסעיף "הנחיות להגשת תרגילים".

17 שאלה 4: נתונה התכנית הבאה: #include<iostream> using namespace std; void main( ) int j = -999,k = - 998,h = - 997; cout << \nenter 2 numbers: cin >> j; cin >> k; cout << \nthe variable j is << j; cout << \nthe variable k is << k; cout << \nenter 2 numbers: ; cin >> h; cin >> j; cout << The variable h is << h; cout << The variable j is now << j; xa "3" abcd 2 4 מריצים תוכנית זו על ששת הקלטים הבאים: שימו לב: הסימן מייצג הקשה על מקש.ENTER לגבי כל הרצה: אם הקלט תקין רשמו מה תדפיס התוכנית, ואם לא ציינו במפורש באיזו שורה בתוכנית נכשלה הפונקציה.cin 7

18 שאלה 5: נתונה התכנית הבאה: #include<iostream> 2 using namespace std; 3 void main ( ) 4 int j, k; 5 double r; 6 char c; 7 8 c = '9'; 9 j = (int)c; 0 r = 8.2; k = (int)r; 2 k = k + 0.9; 3 j = r + 0.9; 4 c = (char)r; 5 השלימו בטבלה הבאה את ערכם העשרוני של המשתנים, או ציינו שהמשתנה אינו מאותחל: משתנה j k r c מס' שורה 8 לא מאותחל לא מאותחל לא מאותחל הערה: אפשר להגיש את התשובה לא מודפסת, בכתב יד ברור וקריא. שאלה 6: כתבו תכנית הקולטת מהמשתמש שבעה תווים ומבצעת:.מדפיסה אותם במשולש הפוך. 2.מדפיסה בשורה את ערכי ה- ASCII שלהם. דוגמה: קלט: student פלט: s t u d e n t הערה לשיפור הקריאות של תוכניתכם: הפרידו בעזרת רווחים ותיעוד מתאים, את החלק בתוכניתכם המדפיס את המשולש, מהחלק המדפיס את ערכי ה-.ASCII ראו זאת כהערה כללית והפעילו זאת בעת הצורך בתוכניותיכם הבאות.

19 שאלה 7: כתבו תכנית הקולטת זמן יציאה לדרך, ואת משך נסיעה בשניות. התוכנית מדפיסה את זמן ההגעה המדויק. כל הזמנים )יציאה והגעה( יוצגו בפורמט hour min sec המוגדר כך:. hour - מספר שלם בין ל.23.2 min - מספר שלם בין ל.59.3 sec - מספר שלם בין ל.59 הקלט: ארבעה מספרים שלמים.. שלושה מספרים שלמים לציון זמן יציאה בפורמט.hour min sec 2. מספר שלם חיובי כלשהו לציון משך הנסיעה בשניות. הפלט: זמן ההגעה בפורמט.hour min sec לדוגמה: עבור הקלט )כלומר זמן יציאה לדרך שעה שתים עשרה ושלושים ואחת דקות ועשר שניות ומשך נסיעה שניות(, הפלט יהיה )שעה שלוש עשרה ושלושים ושבע דקות וחמישים וארבע שניות(. הערה: שימו לב שבפלט מתעלמים מיחידות הזמן הגדולות יותר )יום, חודש, שנה...(. שאלה 8: מקסימום רישא של סדרת מספרים a,a2,,an הם n המספרים הבאים: a, max(a, a2), max(a, a2, a3),, max(a, a2,, an) דוגמא: מקסימום הרישא של הסדרה:,5,,9,2 6 הינו הסדרה: 5, 5, 9, 2, 2 כתבו תכנית הקולטת ארבעה מספרים שלמים אי שליליים ומבצעת את הדברים הבאים:. הדפסת מקסימום הרישא של המספרים שנקלטו. השתמשו לשם כך בפונקצית הספרייה max( max ולפניו פעמיים קו תחתון( שמוגדרת כך: int max(int a, int b); למשל ההשמה c = max(a, b); תשים ל- c את המקסימלי מבין a ו- b. הערה: כדי להשתמש בפונקצית ספריה זו יש להוסיף בתחילת התוכנית <stdlib.h>.#include 2.הדפסת הממוצע החשבוני המדויק של ארבעת המספרים )כלומר ללא קיצוץ הספרות שאחרי הנקודה(. 3. הדפסת הממוצע החשבוני של ארבעת המספרים תוך כדי עיגול הממוצע לשלם הקרוב ביותר )במקרה של חצי מעגלים למעלה(. הערה: אין להשתמש במשפט תנאי,(if else ) גם אם אתם מכירים את התחביר. 9

20 ביטויים: שאלה : בשאלה זו יש רשימה ממוספרת של ביטויים ב- C שבהם מופיעים שלושה משתנים, x,y,z מטיפוס.int משתנים אלה מאותחלים מחדש לערכים = 4 x, z = 6 y, = 5 לפני חישוב הביטוי. לכל ביטוי יש לרשום מהו הערך שלו ומהי תוצאת הלוואי effect) (side בחישוב הביטוי. למשל )x מאותחל כל פעם ל- (: ביטוי: 4=x ערך הביטוי: תוצאת לוואי: השמת הערך למשתנה x. ביטוי: ++x ערך הביטוי: )הערך הקודם של המשתנה x )לפני חישוב הביטוי(( תוצאת לוואי: ערכו של x ישתנה ל - ( + הערך הקודם של x( ביטוי: x++ ערך הביטוי: ) + הערך הקודם של המשתנה x )לפני חישוב הביטוי(( תוצאת לוואי: ערכו של x ישתנה ל- ( + הערך הקודם של ) x. x = y; 2. z = x = y; 3. x = ++y; 4. x = y++; 5. x = ++y + 4; 6. x = y++ + 4; 2

21 משפטי תנאי: שאלה : כתבו תוכנית הקולטת מהמשתמש שלושה נתונים: גיל )בשנים(, משקל )בק"ג(, וגובה )בס"מ( התוכנית מדפיסה המלצה לאחד משלושה תפריטים יומיים )A או B או C(, או הודעה שאין במאגר תפריט מתאים. ההמלצות נקבעות עפ"י הטבלה הבאה: 2- A C C -2 A B A 2- A B C היחס גובה למשקל ( הגיל height ) weight [0.5, 2) [2, 3.5) [3.5, 5] למשל, לאדם בגיל, בגובה מטר שמונים, השוקל ק"ג, יומלץ תפריט B. הערה: השתדלו למצוא פשרה נאותה בין צמצום מספר משפטי התנאי, לבין קריאות התוכנית. שאלה 2: כתבו תוכנית הקוראת שלושה מספרים ממשיים ומדפיסה אותם לפי הסדר מהגדול לקטן. אין להשתמש לשם כך בפונקצית הספרייה. max שאלה 3: בשאלה זו נחזור על המשימה שבשאלה 7 בפרק "טיפוסי נתונים קבועים והשמות" בתוספת התמודדות עם שגיאות לוגיות בהזנת הקלט )ראו הערה למטה(. כתבו תכנית הקולטת זמן יציאה לדרך, ואת משך נסיעה בשניות. התוכנית מדפיסה את זמן ההגעה המדויק. כל הזמנים )יציאה והגעה( יוצגו בפורמט hour min sec המוגדר כך:. hour - מספר שלם בין ל.23.2 min - מספר שלם בין ל.59.3 sec - מספר שלם בין ל.59 הקלט: ארבעה מספרים שלמים.. שלושה מספרים שלמים לציון זמן יציאה בפורמט.hour min sec 2. מספר שלם חיובי כלשהו לציון משך הנסיעה בשניות. הפלט: זמן ההגעה בפורמט.hour min sec לדוגמה: עבור הקלט )כלומר זמן יציאה לדרך שעה שתים עשרה ושלושים ואחת דקות ועשר שניות ומשך נסיעה שניות(, הפלט יהיה )שעה שלוש עשרה ושלושים ושבע דקות וחמישים וארבע שניות(. הערות:. על התוכנית להוציא הודעה מתאימה ולעצור אם נתקלה בקלט לא חוקי לוגית )אפשר להניח שהקלט הוא מספרים שלמים אבל יתכן שהם אינם בפורמט שפורט למעלה(. 2. בקלט ובפלט נתעלם מיחידות הזמן הגדולות יותר )יום, חודש, שנה...(. 2

22 const int ROUND_DOWN = ; const int ROUND_UP = 2; const int ROUND = 3; שאלה 4: הגדירו את הקבועים הבאים: Choose your round method:. Floor round 2. Ceiling round 3. Round to the nearest whole number כתבו תכנית אשר מבקשת מהמשתמש לבחור פעולה מהתפריט הבא: על התוכנית לקלוט מהמשתמש את בחירתו )-3( ומספר ממשי אותו ירצה לעגל, ולהדפיס את תוצאת עיגולו לפי השיטה שבחר המשתמש. 22

23 לולאות: שאלה : סכימה של אלגוריתם הוא תיאור על של מבני הבקרה )לולאות ומשפטי תנאי( בהם משתמש האלגוריתם. תיאור זה אינו כולל את התנאים הלוגיים של מבני הבקרה, אלא רק את היררכית הקינון שלהם. דוגמא א: נסתכל על תוכנית המקבלת מספר טבעי אי זוגי, N, ומדפיסה משולש של כוכביות, כך שבשורה הראשונה תופיע כוכבית אחת, בשורה השנייה שלוש כוכביות,וכך הלאה עד השורה האחרונה שבא תודפסנה N כוכביות. * *** ***** עבור קלט 5=N תדפיס התוכנית: הסכימה של אלגוריתם זה היא: לולאה העוברת שורה אחר שורה // for( ; ; ) לולאה המדפיסה רווחים // for( ; ; ) לולאה המדפיסה כוכביות // for( ; ; ) מעבר שורה // שימו לב כי אין התייחסות לאינדקסים ולתנאים הלוגיים של הלולאות, אלא רק לתפקיד של כל לולאה ולמבנה המקונן שלהן. דוגמא ב: נסתכל על תוכנית הקולטת מספר לא ידוע מראש של מספרים טבעיים. התוכנית מדפיסה את סכום הספרות של כל מספר שנקלט. סוף הקלט מצוין ע"י -. עבור הקלט: יתקבל הפלט: הסכימה של אלגוריתם זה היא: לולאה העוברת מספר אחר מספר מהקלט // while( ) לולאה הסוכמת את ספרות המספר הנוכחי// while( ) 23

24 עבור כל חלק בשאלה זו עליכם לתכנן אלגוריתם המתאים לפתרון הבעיה, לתאר את סכימת האלגוריתם ולממש את האלגוריתם כתוכנית בשפת C. בכל סעיף של שאלה זו, יש לצרף את סכימת האלגוריתם בהגשת הפתרון. א. כתבו תכנית הקולטת מספר טבעי, N, ומדפיסה מבנה כוכביות באופן הבא: המבנה מורכב מחלק ימני וחלק שמאלי המכילים משולש כוכביות ומיושרים לצד ימין או שמאל בהתאם, כאשר רק בשורה האחרונה אין רווח בין שני החלקים. לדוגמא עבור 5=N יודפס המבנה הבא: כוכבית אחת בכל חלק שתי כוכביות בכל חלק שלוש כוכביות בכל חלק ארבע כוכביות בכל חלק חמש כוכביות בכל חלק * * ** ** *** *** **** **** ********** ב. כתבו תוכנית הקולטת מהמשתמש אות אנגלית קטנה ומדפיסה משולש אותיות באופן הבא: בשורה הראשונה תופיע האות, a בשורה השנייה הרצף, aba בשורה השלישית הרצף abcba וכך הלאה עד שבמרכז השורה האחרונה תופיע האות שנקלטה. a aba abcba abcdcba לדוגמא עבור הקלט d יודפס: ג. כתבו תוכנית הקולטת מהמשתמש שני מספרים טבעיים n ו- k. התוכנית תדפיס n שורות, כאשר כל שורה מורכבת מ- k חלקים. כל חלק מכיל n מספרים, ומסתיים i, i,, n, 0,, בשורה ה- i כל חלק יכיל את המספרים:., i הערה: השורות ממוספרות מ- עד -n לדוגמא עבור 5=n ו- 3=k, התוכנית תדפיס: 2

25 ד. כתבו תוכנית הקולטת מהמשתמש שני מספרים טבעיים n ו- k. התוכנית תדפיס n שורות. כל שורה מורכבת מ- k חלקים. כל חלק מכיל n סימני $ ו- #, ומסתיים בשורות i האי-זוגיות )..,,3,5( כל חלק )בגודל n( יתחיל ב- i סימני $ רצופים, ואחריהם בשאר המקומות סימני #. בשורות i הזוגיות ),2,4,6( כל חלק )בגודל n( יתחיל ב- i סימני # רצופים, ואחריהם בשאר המקומות סימני $. הערה: השורות ממוספרות מ- עד n. לדוגמא עבור 5=n ו- 3=k, התוכנית תדפיס: $ # # # $ # # # $ # # # # # $ $ # # $ $ # # $ $ $ $ $ # $ $ $ # $ $ $ # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ שאלה 2: כתבו תכנית הקולטת סדרה של מספרים שלמים ואי שליליים. התכנית צריכה להדפיס: א. ממוצע אלגברי )חשבוני( של כל המספרים שנקראו. ממוצע גיאומטרי )הנדסי( של כל המספרים הגדולים מאפס. ב. ג. חיזרו על התוכנית מחלק א' כאשר הפעם מספר המספרים בקלט אינו ידוע מראש. המספר הראשון בקלט יציין את אורך סדרת המספרים, ואחריו תופיע הסדרה באורך המתאים. חיזרו על התוכנית מחלק א' כאשר שוב מספר המספרים בקלט אינו ידוע מראש. הפעם סוף הקלט מסומן על ידי המספר - שמופיע בקלט לאחר סדרת המספרים )כלומר - אינו חלק מהסדרה(. הנחיות והערות: תזכורת: N. מספרים הוא סכום המספרים מחולק ב- N ממוצע חשבוני של o o ממוצע גיאומטרי של N מספרים הוא השורש ה- N י של מכפלת המספרים. שימו לב שממוצע זה מוגדר רק אם כל N המספרים חיוביים. השתמשו בפונקציה pow )המוגדרת בספריה )math.h לחישוב השורש ה- N י. יש לטפל בכל מצבי השגיאה הבאים:. שגיאה לוגית קבוצת המספרים החיוביים ריקה לא ניתן לחשב ממוצע גיאומטרי. במקרה זה על התוכנית להודיע הודעה מתאימה, לחשב ולהדפיס את הממוצע האלגברי ולהסתיים. שגיאה לוגית קבוצת המספרים ריקה לא ניתן לחשב ממוצע גיאומטרי וממוצע אלגברי. במקרה זה על התוכנית להודיע הודעה מתאימה ולהסתיים..2 25

26 שאלה 3: כתבו תכנית הקולטת מספר אוקטלי )בסיס ( שאורכו אינו ידוע מראש, וממירה אותו למספר עשרוני. יש לקרוא את המספר מן הקלט כרצף של תווים )0,,2,3,4,5,6,7( ללא רווחים ביניהם המסתיים בהקשת )'n\'(. ENTER דוגמא: קלט: 375 פלט: 253 )כי = *8 + )3*8 2 + רמז: a n a n- a n-2 a ערכו של המספר האוקטלי a 0 הוא: ( ((a n * 8 + a n- ) * 8 + a n-2 ) * a ) * 8 + a 0 כאשר a 0 הוא ה-,least significant digit ו- a n הוא ה- most significant digit כלומר בכל איטרציה עלינו להכפיל את התוצאה הקודמת ב- 8 ולהוסיף את הספרה הבאה. שאלה 4: כתבו תוכנית הקולטת מספר טבעי ובודקת האם ספרותיו מהוות פלינדרום. פלינדרום הוא מספר אשר ערכו יהיה זהה בין אם נקרא אותו מימין לשמאל ובין אם נקרא אותו משמאל לימין. דוגמה א': קלט: פלט: is palindrome דוגמה ב': קלט: פלט: is not palindrome 2

27 שאלה 5: כתבו תכנית הקולטת מספר שלם חיובי המייצג מספר תעודת זהות, ללא אפס מוביל וללא ספרת ביקורת. התוכנית מחשבת ומדפיסה את מספר תעודת הזהות עם ספרת הביקורת. חישוב ספרת הביקורת של תעודת זהות נעשה בשלושה שלבים: בשלב הראשון כופלים את הספרות השונות ב- 2 וב- לסירוגין: הספרה האחרונה )הימנית ביותר( מוכפלת ב- 2. הספרה הלפני אחרונה )השניה מימין( מוכפלת ב-. הספרה שלפניה )השלישית מימין( מוכפלת ב- 2. וכן הלאה לסירוגין, עבור שאר הספרות )לא ידוע אם מספר הספרות זוגי או לא(. בשלב השני ס וכ מ ים את סכום הספרות של המכפלות שהתקבלו. )לדוגמא: אם אחת המכפלות הינה 2*7= אז היא תורמת לסכום 5, כי 5= (. + בשלב השלישי מקבלים את ספרת הביקורת בתור המספר האי-שלילי הקטן ביותר שניתן להוסיף לתוצאת הסכום )שהתקבלה בשלב השני( בכדי להגיע לכפולה של. )לדוגמא: אם הסכום הכולל של ספרות הוא 2 הרי שספרת הביקורת היא, כי = 3, 2 + ו- 3 הינו כפולה של הקרובה ביותר ל- 2(. לדוגמא עבור ת"ז מס 527 ספרת הביקורת היא, כיוון ש: ספרות תעודת הזהות: הכופלים )לכל ספרה(: המכפלות )לכל ספרה(: = 2 סיכום סכום הספרות: ו- הוא המספר האי שלילי הקטן ביותר אשר ניתן להוסיף לסכום 2 כדי להגיע לכפולה של. 27

28 N 2 N 2 שאלה 6: כתבו תוכנית הקוראת מקדמים שלמים שונים מאפס A,B,C,D למשוואה בשלושה נעלמים. A x B y C z D וכן מספר שלם וזוגי N המגדיר תחום. התוכנית מוצאת את מספר הפתרונות השלמים של המשוואה, אשר ערכם בין ל- וכן אחד מן הפתרונות הללו. כלומר יש למצוא שלשות (x,y,z) של מספרים שלמים, המקיימות את המשוואה וכן מקיימות,y x, ולספור אותן. z N N 2 2 קלט: המספר, A המספר, B המספר,C המספר, D המספר N פלט: א. מספר הפתרונות בתחום. ב. אחד מהפתרונות שמצאתם למשוואה, במידה ויש כאלו. דוגמא: A 2, B 3, C, עבור קלט: D 5, N 4 יתקבל הפלט: = 5 -*z There are 6 solutions for 2*x -3*y Where: -2 <= x,y,z <= 2 One such solution is (2,0,-) שימו לב כי אין חשיבות לפתרון הנבחר להדפסה, בדוגמא לעיל ניתן היה לבחור כל אחד מבין הפתרונות : (-,-2,-), (0,-2, ), (0,-,-2), (,-, 0), (2,-,2), (2,0, -) הנחיות והערות: ראשית יש להדפיס את מספר הפתרונות ורק אחר כך דוגמא לפתרון שמצאתם. 4, A ו-: B 8, C, D הגישו שלוש דוגמאות הרצה שבכולן 30 N=0 o N=0 o N=000 o אלגוריתם לא יעיל יגרום לתוכניתכם לרוץ לאט יחסית על קלטים בהם N גדול. אלגוריתם יעיל ישפר זמן ריצה זה בערך פי N. 2

29 שאלה 7: בנוסף לייצוג מספרים בבסיס עשרוני, בינארי או כל בסיס אחר, ישנה שיטה אחרת לייצוג מספרים הידועה בשם "השיטה הרומית". בתרגיל זה נעסוק בגירסא מפושטת של השיטה הרומית, אותה נכנה השיטה הרומית הבסיסית. הספרות הרומיות וערכיהן הם: ערך עשרוני ספרה רומית I V 5 X 0 L 50 C 00 D 500 M,000 מספר בשיטה הרומית הבסיסית הוא סדרה של ספרות רומיות המקיימת את התנאים הבאים:. הספרות, משמאל לימין, מהוות סדרה יורדת חלש )לא עולה(. לדוגמא: MXII הוא חוקי, XIIM אינו חוקי. )שימו לב שבשיטה הרומית הבסיסית תמיד כל המופעים של תו מסוים בסדרה חוקית הם רצופים, וזאת מאחר והסדרה אינה עולה( מספר המופעים של הספרה M איננו מוגבל. הספרות, D,L,V יכולות להופיע פעם אחת לכל היותר. הספרות, C,X,I יכולות להופיע ארבע פעמים לכל היותר. לדוגמא: VIIII היא סדרה חוקית שמייצגת את המספר 9 אך VIIIII אינה סדרה חוקית ובמקומה יש לרשום פשוט. X.2 על מנת להעריך מספר המיוצג בשיטה הרומית הבסיסית, יש לסכום את ערכן העשרוני של כל הספרות הרומיות שבמספר. לדוגמא: XI means 0 + = XXVI means = 26 א. ב. כתבו תכנית המקבלת מספר שלם חיובי מהקלט ומדפיסה אותו בייצוג רומי בסיסי. כתבו תכנית המקבלת מהקלט רצף של תווים, ללא רווחים, המייצגים מספר בשיטה הרומית הבסיסית. על התוכנית להדפיס את ערכו העשרוני של המספר שהתקבל. הנחיות והערות: על התוכנית לבדוק את תקינות הקלט. במידה והתגלתה שגיאת קלט יש להודיע הודעה מתאימה ולסיים את ריצת התוכנית. 29

30 פונקציות: #include <iostream> using namespace std; שאלה : נתונה התוכנית הבאה: void f(int k) cout << f: k = " << k << \n ; k =3; int g(int k) cout << g: k = << k << \n ; k = k*2; return 7; int h(int k) cout << h: k = << k << \n ; if (k == 0) cout << return \n ; return ; else cout << return 0 \n ; return 0; int h(int k) int i; cout << h: k = << k << \n ; if (k == 0) cout << return \n ; return ; else i= h(0); cout << return << i << \n ; return i; void main()

31 בכל אחד מהסעיפים a עד g, החליפו את ה- main של התוכנית לעיל ב- main הניתן בסעיף וקיבעו האם התוכנית תעבור קומפילציה או לא. אם התוכנית אינה עוברת קומפילציה, כתבו מדוע. אם התוכנית עוברת קומפילציה כתבו מה יהיה הפלט של התוכנית, בהנחה שהקלט הניתן לתוכנית ב- cin הוא המספר השלם והחיובי α. a) void main() int k; cin>>k; cout << main: k = << k << \n ; f(k); cout << main: k = << k << \n ; b) void main() int k; cin>>k; cout << main: k = << k << \n ; k = f(k); cout << main: k = << k << \n ; c) void main() int k; cin>>k; cout << main: k = << k << \n ; g(g(k)); cout << main: k = << k << \n ; d) void main() int k; cin>>k; cout << main: k = << k << \n ; k = g(g(k)); cout << main: k = << k << \n ; 3

32 e) void main() int k; cin>>k; h(h(k)); f) void main() int k; cin>>k; h(2); g) void main() int k; cin>>k; cout << main: k = << k << \n ; g(int k); cout << main: k = << k << \n ; שאלה 2: כתבו את שתי הפונקציות הבאות והשתמשו בהן לכתיבת תוכנית הקוראת 3 מספרים ממשיים ומדפיסה את הקטן ביותר ואת הגדול ביותר. א. פונקציה המקבלת 3 מספרים ממשיים ומחזירה את הגדול ביותר מביניהם. אין להשתמש בפונקציות נוספות לכתיבת פונקציה זו. השתמשו במספר השוואות מינימלי. ב. פונקציה המקבלת 3 מספרים ממשיים ומחזירה את הקטן ביותר מביניהם. יש להשתמש לשם כך בפונקציה מסעיף א', ואסור לבצע כל השוואות נוספות. הערה: בשאלה זו אין צורך בדוגמאות הרצה. 32

33 שאלה 3: א. כתבו פונקציה המקבלת מספר שלם חיובי ומחזירה את המספר בסדר ספרות הפוך. n ( dmdm שימו לב: אם n הוא מספר שלם וחיובי שהצגתו בבסיס עשרוני היא: (d0 dm 2... אז המספר ההפוך ל- n, בבסיס עשרוני הוא: m m. Reverse( n) d0 0 d 0... d m דוגמא: עבור הקלט 23 תחזיר הפונקציה את המספר 32. עבור הקלט 3 תחזיר הפונקציה את המספר 3. ב. השתמשו בפונקציה מסעיף א' על מנת לכתוב פונקציה בוליאנית המקבלת מספר חיובי ומחזירה true אם ורק אם המספר הוא פלינדרום. דוגמא: עבור הקלט 23 תחזיר הפונקציה.false עבור הקלט 232 תחזיר הפונקציה.true הערות והנחיות:. מספר הוא פלינדרום אם קריאת סדרת ספרותיו משמאל לימין זהה לקריאה מימין לשמאל. 2. ניתן להניח כי הקלט תקין. 3. יש לספק דוגמאות הרצה רק עבור סעיף ב'. שאלה 4: א. כתבו פונקציה המקבלת שני פרמטרים: מספר שלם וחיובי,num ומספר שלם חיובי חד ספרתי,.num במספר,digit המייצג ספרה. הפונקציה מחזירה את מספר המופעים של הספרה,digit בדיקות תקינות: ניתן להניח שמספרי הקלט שלמים. בהנחה זו על הפונקציה לזהות את השגיאות הבאות:. digit אינו מספר חיובי חד ספרתי. 2. num אינו מספר חיובי. לשם כך, הגדירו את הקבועים הבאים: const int NEGATIVE_INPUT_NUMBER = -; const int ILLEGAL_DIGIT = -2; השתמשו בקבועים אלו, על מנת להחזיר את השגיאה המתאימה. לדוגמא: עבור הקלט num=22423 digit=2, תחזיר הפונקציה 3. עבור הקלט num=22423 digit=34, תחזיר הפונקציה.ILLEGAL_DIGIT ב. כתבו פונקציה בוליאנית המקבלת מספר חיובי ושלם ומחזירה true אם ורק אם כל ספרותיו שונות זו מזו. לדוגמא: עבור הקלט 25 תחזיר הפונקציה.true עבור הקלט 22 תחזיר הפונקציה.false 33

34 ג. השתמשו בפונקציות מסעיפים א' ו-ב' על מנת לכתוב פונקציה המקבלת שני פרמטרים: מספר חיובי ושלם,,num ומספר חיובי ושלם אשר כל ספרותיו שונות זו מזו,.digits על הפונקציה להחזיר את סכום מספרי המופעים של כל אחת מספרות,digits במספר.num בדיקות תקינות: ניתן להניח שמספרי הקלט שלמים. בהנחה זו על הפונקציה לזהות את השגיאות הבאות:. digits או num אינם חיוביים. 2. לא כל הספרות ב- digits שונות זו מזו. הגדירו קבועים מתאימים והשתמשו בהם על מנת להודיע על השגיאה הרלוונטית. דוגמא א': עבור הקלט num=22423 ו- digits=2 תחזיר הפונקציה. )כיוון ש- 2 מופיע בnum 3 פעמים ו- מופיע ב- num פעם אחת, הפונקציה צריכה להחזיר 3+ שזה ( דוגמא ב': עבור הקלט num=22423 ו- digits=2 תחזיר הפונקציה ערך המודיע על שגיאת הקלט. שאלה 5: כתבו פונקציה המקבלת שני מספרים: הראשון, מספר חיובי ושלם,num והשני מספר שלם וחיובי indices המייצג אינדקסים של ספרות. על הפונקציה לייצר ולהחזיר מספר המקיים שבמקום כל ספרה.num במספר d תופיע הספרה מהמקום )אינדקס( ה-,indices ב- d הערות:. הניחו שמספר הספרות ב- num וב- indices קטן או שווה ל ספרות המספר num ממוספרות משמאל לימין, כלומר הספרה שהאינדקס שלה הוא היא הספרה השמאלית ביותר ב- num. דוגמאות:. עבור הקלט num=4735 ו- indices=200 תחזיר הפונקציה את המספר 37. כיוון שהספרה ה- 2 ב- num היא, 3 הספרה ה- ב- num היא, הספרה ה- ב- num היא 7 והספרה ה- ב- num היא. 2. עבור הקלט num=3028 ו- indices=200 תחזיר הפונקציה את המספר 233. בדיקות תקינות: על ניתן להניח שמספרי הקלט שלמים. בהנחה זו על הפונקציה לזהות את השגיאות הבאות:. ב- indices מופיע אינדקס לא חוקי למספר.num 2. הפונקציה נקראה עם מספרים שאינם חיוביים. 3. num ו/או- indices מכיל יותר מ- 9 ספרות פרקו משימה זו לתתי משימות, והגדירו פונקציות עזר כנדרש )כפי שהודגם בשאלות 3,(. הגדירו קבועים מתאימים והשתמשו בהם על מנת להודיע על השגיאה הרלוונטית. 3

35 שאלה 6: כתבו כמה כוכביות יודפסו כאשר מריצים כל אחת משתי התוכניות הבאות. עליכם להסביר בצורה מפורטת כיצד הגעתם לפתרון ולפרט את החישובים. שימו לב כי הפונקציה fabs מחזירה את הערך המוחלט של משתנה מסוג.double הערה: תכנית זו מדגימה כיצד יש לבדוק שוויון או אי שוויון בין ערכים מסוג float או-.double מאחר וערכים אלו הם רק קירובים למספרים ממשיים, לא נבדוק שוויון או אי שוויון באמצעות == או =!, המשווים בצורה מדוייקת. למשל בתוכנית שלפנינו, במקום לבדוק האם =! 2.0 a, בודקים האם a ו- 2.0 רחוקים זה מזה יותר מרמת הדיוק,EPSILON כלומר בודקים האם:.fabs(a-2.0) > EPSILON #include<iostream> using namespace std; #include<math.h> const double EPSILON = ; void main() double a = 0.0; א. while (fabs(a-2.0) > EPSILON ) cout<<"*"; a = a + 0.; #include<iostream> using namespace std; #include<math.h> ב. const double EPSILON = ; void asterisks(double x) while (fabs(x-2.0) > EPSILON ) cout << "*"; x = x + 0.; void main() double a = 0.0; while (fabs(a-2.0) > EPSILON ) asterisks(a); a = a + 0.; הערה: אפשר להגיש את התשובה לא מודפסת, בכתב יד ברור וקריא. 35

36 שאלה 7: הפולינום( ( P הוא קירוב של הפונקציה cos(x) כאשר n 0 ו- x ניתן ברדיאנים: n x ( ) Pn ( x) x x x... x 2! 4! 6! (2 n)! n 2n P ( x), P( x) x שימו לב כי וכו'... ניתן להוכיח ששגיאת החישוב, כאשר משתמשים ב-( x Pn ( המוחלט על. cos( x) P ( x) n 2 n x 2 n! כלומר,. 2 n x 2 n! במקום ב-( cos(x המדויק, אינה עולה בערכה א. ב. ג. ד. ה. ו. כתבו את הפונקציה: (y,double factorial(int המקבלת כפרמטר מספר שלם y ומחזירה את!y. הערך המוחזר של הפונקציה )כלומר!y( הוא מטיפוס,double כדי לאפשר לעבוד עם ערכי y גדולים. כתבו את הפונקציה power המקבלת כפרמטרים מספר x מטיפוס double ומספר שלם y 0 ומחזירה את x. y אין להשתמש בפונקציות נוספות לכתיבת פונקציה זו. כתבו את הפונקציה fabsolute המחשבת ומחזירה את ערכו המוחלט של פרמטר מטיפוס.double כתבו את הפונקציה n) double cos (double x, int המחשבת קרוב ל- cos(x). P ( ) n השתמשו בפונקציות Factorial ו- Power )מסעיפים א' ו- ב'( לחישוב ערכו תוך שימוש ב x של כל איבר בטור. כתבו את הפונקציה (n double cos2 (double,x int המחשבת קרוב ל-. P ( ) n הדגש בכתיבת cos2 יהיה יעילות האלגוריתם. x תוך שימוש ב cos(x) שימו לב כי לא יעיל לחשב את החזקה ואת העצרת בכל פעם מחדש, אלא ניתן להשתמש בתוצאות של האיבר הקודם כדי למצוא את האיבר הבא, ובכך ניתן להקטין משמעותית את מספר פעולות הכפל והחילוק. כתבו את הפונקציה epsilon) double cos3 (double x, double.epsilon כך ששגיאת החישוב קטנה מ-, P ( ) n המחשבת קרוב ל- cos(x) תוך שימוש ב x השתמשו באלגוריתם היעיל מסעיף ה' על מנת לכתוב פונקציה זו. ב- 4 ז. בעזרת הפונקציות שכתבתם עד כה, כתבו תוכנית המחשבת את cos(x) בנקודה =.0 x דרכים שונות: עבור 0=n ע"י הפונקציה cos עבור 0=n ע"י הפונקציה cos2 עבור epsilon=0-0 ע"י הפונקציה cos3 וע"י פונקצית ספרייה ( )math.h לחישוב קוסינוס. הערה: יש לספק דוגמאות הרצה רק לסעיף ז'. 3

37 שאלה 8: א. כתבו את הפונקציה y_fact). void factorial (int y, double& הפונקציה מקבלת מספר שלם אי-שלילי: y ומחזירה )בעזרת פרמט פלט( את!y:.y_fact שימו לב כי נעשה שימוש ב- double כדי לאפשר עבודה עם מספרים גדולים. ב. ג. כתבו פונקציה בוליאנית בשם,Power המקבלת כפרמטרים: מספר x מטיפוס int ומספר y מטיפוס.int הפונקציה מחזירה כפרמטר פלט מטיפוס double את x. y בנוסף, הפונקציה מחזירה )לא כפרמטר פלט( ערך true אם הצליחה וערך false אם נכשלה )הפונקציה נכשלת אם בו- זמנית = 0 x ו-.)y 0 כתבו תוכנית הקוראת מספר שלם 0 x ומספר שלם נוסף y, ומדפיסה את!x ואת x y תוך שימוש בפונקציות מסעיפים א' ו- ב'. הוציאו הודעה מתאימה במקרה שפעולה נכשלת. שאלה 9: בשאלה זו מחלק אמיתי של מספר שלם חיובי n, הוא כל שלם חיובי שמחלק את n פרט ל- n עצמו. הגדרה: שני מספרים שלמים וחיוביים, B, A, נקראים ידידותיים, אם סכום המחלקים האמיתיים של A שווה ל- B, וסכום המחלקים האמיתיים של B שווה ל- A. מספר הוא מושלם אם הוא ידידותי עם עצמו. =+2+3.2= דוגמאות: המספרים ו 2 הם מושלמים: המספרים 2 ו- 22 ידידותיים כי סכום מחלקי 22 הוא 2: =2 וסכום מחלקי 2 הוא : =22 א. ב. ג. כתבו פונקציה שמקבלת כפרמטר מספר שלם חיובי n, ומחזירה כפרמטרי פלט את מספר המחלקים האמיתיים של המספר ואת סכומם. דוגמא: מחלקי 2 הם.,,3,2, לכן הפונקציה אמורה להחזיר, 5 )כלומר 5 מחלקים שסכומם הוא (. פתרון יעיל לסעיף זה מבצע כ- n איטרציות. הערה: ניתן להשתמש בפונקצית השורש )sqrt( בספריה. math.h כתבו פונקציה בוליאנית )כלומר פונקציה המחזירה true או )false המחליטה האם הפרמטר שלה הוא מספר מושלם. יש להשתמש לשם כתיבת פונקציה זו בפונקציה מסעיף א', ולא לשכפל את הקוד הנמצא שם. כתבו והריצו את התכנית הבאה המשתמשת בפונקציות מסעיפים א', ו- ב'. התכנית קולטת מספר M ומדפיסה:. את כל המספרים המושלמים בין 2 ל- M. 2. את כל הזוגות הידידותיים כך ששני בני הזוג הם בין 2 ל- M. הערה: אלגוריתם לא יעיל לתת-סעיף זה ירוץ בערך פי M יותר זמן מאלגוריתם יעיל. הערות:..2 הגדירו פונקציות עזר נוספות על פי הצורך. יש לספק דוגמאות הרצה לסעיף ג' בלבד, הדוגמאות צריכות לכלול פלט עבור הקלטים.M = 30,000 ו-,M = 3000,M =

38 רקורסיה: void printtriangle( int n); שאלה : כתבו פונקציה רקורסיבית: המקבלת מספר טבעי n ומדפיסה כוכביות בצורת משולש, שבבסיסו n כוכביות. * * * * * * * * * * * * * * * לדוגמא, עבור 5=n הפונקציה תדפיס: void printopositetriangles( int n); שאלה 2: כתבו פונקציה רקורסיבית: המקבלת מספר טבעי n ומדפיסה כוכביות בצורת שני משולשים הפוכים, שבסיסיהם בעלי n כוכביות. * * * * * * * * * * * * * * * * * * * * לדוגמא, עבור 4=n הפונקציה תדפיס: 3

39 שאלה 3: בשאלה זו נרצה לצייר סרגל במאונך. לצורך כך כתבו פונקציה רקורסיבית: void drawruler (int k); הפונקציה מקבלת פרמטר שלם חיובי k, על הפונקציה לצייר - k 2 סימוני שנתות )ע"י סימני '-'(, באופן הבא: באמצע )ב- ½ הסרגל( מציירים k שנתות. באמצע כל אחד מהחצאים שנוצרו )במקומות- ¼ ו- ¾ ) מציירים -k שנתות. במקומות,5/,3/,/ ו- 7/ מציירים k-2 שנתות..)2 k -/2 k,,3/2 k,/2 k וכך הלאה, עד לרמה שמציירים שנתה אחת )במקומות למשל עבור 4=k, האלגוריתם ידפיס את הסרגל )המספרים במסגרת לא יודפסו(: מיקום יחסי של השנתות על גבי הסרגל סרגל - /6= / /6= /8-3/6= 3/ /6= /4-5/6= 5/ /6= 3/8-7/6= 7/ /6= /2-9/6= 9/ /6= 5/8 - /6= / /6= 3/4-3/6= 3/ /6= 7/8-5/6= 5/6 שאלה 4: כתבו פונקציה רקורסיבית בוליאנית המקבלת כפרמטר מספר טבעי, ובודקת אם ספרותיו מהוות סדרה יורדת ממש )משמאל לימין(. כלומר הפונקציה תחזיר את הערך true אם כן, ואת הערך false אם לא. 39

40 bool iseven(int num, int dig); שאלה 5: כתבו פונקציה רקורסיבית: המקבלת כקלט מספר טבעי num וספרה.dig על הפונקציה להחזיר true אם ורק אם מספר המופעים של הספרה dig ב- num הוא זוגי. למשל: 5) IsEven(9545, ואילו 4) IsEven(9545, הוא true הוא. false שאלה 6: ידוע כי כל מספר שלם חיובי בסיס ניתן גם להצגה בבסיס 2. כתבו פונקציה רקורסיבית: void printinbinary(int num); אשר מקבלת כקלט מספר חיובי, num ומדפיסה את ההצגה של num בבסיס 2. printinbinary(20); 000 למשל הפעלת הפונקציה: תגרום להדפסת: שאלה 7: נתונה הבעיה הבאה: ישנו סולם בן n שלבים שעליו ניתן לטפס בכל צעד או בקפיצה של שלב אחד, או בקפיצה של שני שלבים. כתבו פונקציה רקורסיבית: int numways(int n); שמחזירה את מספר הדרכים השונות שבהן ניתן לטפס על סולם בגודל n שלבים. לדוגמא: numways(4) תחזיר 5, מאחר ואפשר לטפס על סולם בן שלבים בחמשת הדרכים הבאות:

41 שאלה 8: ידוע כי כל מספר שלם ניתן להצגה כמכפלה של מספרים ראשוניים. למשל: = 2*2*2 7 = 7 2 = 2 *2* 5 כתבו פונקציה רקורסיבית: void printprimefactors(int num); אשר מקבלת כקלט מספר,num 2, num ומדפיסה, את הגורמים הראשוניים של.num סדרת המספרים שתודפס צריכה להיות לא יורדת, ומכפלת המספרים שתודפס תהיה שווה ל- num. למשל הקריאה: printprimefactors(20) תגרום להדפסת: שאלה 9: כתבו פונקציה רקורסיבית: void find2factor(int num, int& k, int& m); הפונקציה מקבלת כקלט מספר טבעי,num ומחזירה דרך פרמטרי הפלט k ו- m, ערכים המקיימים:, num 2 k m כאשר k 0 שלם, ו- m טבעי אי-זוגי. למשל: עבור,num=40 האלגוריתם יעדכן ב- k את הערך 3, וב- m את הערך 5, היות ש עבור,num=4 האלגוריתם יעדכן ב- k את הערך, וב- m את הערך, היות ש הערה: לא ניתן להניח שהפרמטרים k ו- m, מגיעים מאותחלים בערכים כלשהם. שאלה : אחת הדרכים לבדוק אם מספר שלם מתחלק ב - היא לסכם את ספרות המספר תוך החלפת סימני הספרות לסירוגין. אם תוצאת הסיכום אינה חד-ספרתית, יש לחזור על התהליך עבור הערך המוחלט של התוצאה, וכך הלאה עד שהתוצאה היא חד ספרתית. אם התוצאה הסופית )כאשר נותרים עם ספרה אחת( היא אפס - המספר מתחלק ב -, אחרת המספר אינו מתחלק ב -. לדוגמה: המספר, 7723 אם נסכם את ספרותיו תוך החלפת סימנים לסירוגין, נקבל: = התוצאה אינה חד-ספרתית לכן יש לחזור על התהליך עבור הערך המוחלט של התוצאה. אחרי סיכום הספרות תוך החלפת סימנים לסירוגין נקבל: 0=-. התוצאה הינה חד ספרתית, וכן שווה ל-, ולכן המספר המקורי מתחלק ב-. שימו לב! ניתן גם לסכם את ספרות המספר החל מימין )במקום משמאל כמו שנעשה בדוגמה(. התוצאה תהיה זהה או הפוכה בסימן, אך הערך המוחלט יהיה זהה בשני המקרים. א. ב. כתבו פונקציה רקורסיבית, המקבלת כפרמטר מספר שלם אי שלילי ומסכמת את ספרותיו תוך החלפת סימני הספרות לסירוגין. כתבו פונקציה רקורסיבית נוספת, המקבלת כפרמטר מספר שלם אי שלילי ובודקת בדרך המתוארת לעיל אם הוא מתחלק ב. הפונקציה תשתמש בפונקציה מסעיף א'. הערה: אין להשתמש בלולאות ו/או במערכים לכתיבת הפונקציות הנדרשות.

42 הם מספרים שלמים אי-שליליים, נקרא לנקודות בעלות ו- y שאלה : בהינתן נקודה )x,y( במישור כאשר x הקואורדינטות השלמות במלבן שקודקודיו הם (0,x),(y,0) (x,y),,(0,0) "הרשת של."(x,y) למשל הרשת של (2,) כוללת את הנקודות (2,) (,), (0,), (2,0), (,0),.(0,0), כתבו פונקציה רקורסיבית המקבלת כפרמטרים את זוג קואורדינטות )x ו- y(, ומחזירה את מספר המסלולים השונים ברשת של (x,y) מהנקודה ),( לנקודה.)x,y( ההתקדמות במסלול, המותרת בכל שלב היא תזוזה של יחידה אחת ימינה או תזוזה של יחידה אחת למעלה. הערה: אין צורך לפרט את המסלולים. לדוגמא: אל הנקודה )2,( ישנם שלושה מסלולים שונים והם : (0,0) (0,) (,) (2,) (0,0) (,0) (2,0) (2,) (0,0) (,0) (,) (2,) 2

43 מערכים: void printarray(int a[],int size) int i; cout << ; for(i = 0 ; i < size ; ++i) cout << <<a[i] <<, ; cout << \n ; שאלה : נניח שמוגדרת הפונקציה הבאה: עבור כל אחד משני קטעי הקוד להלן, ענו על השאלות הבאות: א. האם הקוד עובר קומפילציה? ב. האם הקוד כתוב בסגנון תכנותי טוב? נמקו. ג. אם הקוד אכן ירוץ, מהו הפלט שמתקבל כתוצאה מהרצתו? הסבירו. הניחו שכל הקצאות הזיכרון מתבצעות בכתובות עוקבות בסדר עולה )למשל, אם מופיעה הכרזה ;b int,a אזי כתובות a ו- b עוקבות, וכתובת b גדולה מכתובת a(. a) void main() int j = 7; int a[4] =, 2, 3, 4 ; int k = 8; printarray(a,4); a[3] = j; printarray(a,4); a[-] = 98; a[4] = 0; printarray(a,4); cout << j = << j << \n ; cout << k = << k << \n ; printarray(a,5); printarray(a-,6); b) void main() int a[3][4] =, 2, 3, 4, 5, 6, 7, 8, 9; a[2][2] = 98; printarray(a[0],4); printarray(a[],4); printarray(a[2],4); printarray(a[0],2); a[2][-] = 88; printarray(a[0],4); printarray(a[],4); printarray(a[2],4); 3

44 שאלה 2: כתבו תוכנית הקולטת סדרה של 2 מספרים שלמים )לאו דווקא שונים זה מזה( לתוך מערך, ומדפיסה את האינדקסים של המספרים השווים למספר הקטן ביותר במערך )המינימום(. למשל בסדרה של 2 המספרים הבאים )הנקראת משמאל לימין( : יש להדפיס )כי הוא המינימלי והוא נמצא באינדקסים אלו(. שאלה 3: כתבו תוכנית הקולטת מספרים שלמים חיוביים לתוך מערך, סוף הקלט יסומן על ידי -. על התוכנית להדפיס את אינדקס של מספר אשר החל ממנו מתחילה סדרת מספרים יורדת חלש )בסדרה יורדת חלש כל מספר קטן או שווה לקודמו( שאורכה מקסימלי. הערה: ניתן להניח שלא יהיו יותר מ- 5 מספרים בקלט לפני שיופיע -. דוגמא: עבור הקלט )משמאל לימין(: יודפס כי החל מהאינדקס מתחילה הסדרה שהיא סדרה יורדת חלש באורך ואין בדוגמה זו סדרה יורדת חלש שאורכה גדול מ-. שאלה 4: כתבו את הפונקציות הבאות: א. פונקציה שמקבלת בתור פרמטרים מערך של מספרים ממשיים ואת גודלו, ומחזירה את מספר הערכים הגדולים מ - במערך. ב. הערה: ג. ד. ה. בדומה לסעיף א' אלא שהפעם יש להחזיר את התוצאה כפרמטר פלט של הפונקציה )והפונקציה תהיה.)void יש להשתמש לשם כך בפונקציה מסעיף א' )ולא לשכפל קוד(. לסעיפים הבאים קיים אלגוריתם פשוט ויעיל שמזיז כל מספר במערך לכל היותר פעם אחת. פונקציה:( sizeb void copyodd (int A[], int sizea, int B[], int& שמקבלת בתור פרמטרים מערך A של מספרים וגודלו.sizeA על הפונקציה להחזיר במערך B את כל המספרים האי-זוגיים אשר נמצאים במערך A. כמו כן, ב- sizeb יוחזר מספר המספרים שהוכנסו למערך B. פונקציה: size) void removeodd (int A[], int& שמקבלת בתור פרמטרים מערך A של שלמים ואת גודלו,.size המערך A והפרמטר size הם פרמטרי קלט/פלט. בקלט, המערך A מכיל size שלמים כלשהם ובפלט הוא יכיל רק את המספרים הזוגיים שהיו בקלט, על-פי הסדר המקורי שהיה ביניהם. הפונקציה תחזיר בפרמטר,size את מספר המספרים הזוגיים ב- A )שהוא גודלו הלוגי החדש(. לא ניתן להשתמש במערך עזר. דוגמה: קריאה עם קלט A 5,2,7,4 ו- size 4 צריכה להחזיר. A 2, אין חשיבות לערכים A 3.size 2 ו- A 2,4 פונקציה : size) void splitparity(int A[], int שמקבלת בתור פרמטרים מערך A של מספרים ואת גודלו,.size על הפונקציה לשנות את סדר האיברים במערך כך שכל המספרים הזוגיים יופיעו ברצף בתחילת המערך וכל המספרים האי זוגיים יופיעו ברצף בסופו. פרט לכך, אין חשיבות לסדר בין המספרים.

45 שאלה 5 כתבו את הפונקציות הבאות: א. פונקציה: double MeanMatrix(double A[][SIZE],int num_rows, int num_cols) המקבלת מערך דו ממדי A, ומחזירה את הממוצע של כל איברי המערך )הדו-ממדי( A. הניחו כי SIZE הוא קבוע שהוגדר קודם וכן.num_cols => SIZE,num_rows => SIZE ב. פונקציה: void MeanDiagonal(double A[][SIZE],int dim, double& diag, double& diag2) ג. המקבלת מערך דו ממדי ריבועי, )מספר השורות הלוגי = מספר העמודות הלוגי =.)dim הפונקציה מחזירה ב- diag את ממוצע איברי האלכסון הראשי, וב- diag2 את ממוצע איברי האלכסון המשני. הניחו כי SIZE הוא קבוע שהוגדר קודם וכן ש-.dim => SIZE פונקציה: int positive(double A[][SIZE],int num_rows, int num_cols) המקבלת מערך דו-ממדי A. הפונקציה מחזירה את מספר המספרים ב- A הגדולים מ-. הגדירו פונקציות עזר כנדרש. הניחו כי SIZE הוא קבוע שהוגדר קודם וכן.num_cols => SIZE,num_rows => SIZE שאלה 6: כתבו תכנית שמקבלת מהמשתמש קלט המורכב מהתווים [,],,,(,) לבדוק האם הקלט מהווה סדרה חוקית של סוגריים. ומסתיים ב 'n\'.)enter( על התוכנית בסדרה חוקית של סוגריים לכל פתיחת סוגריים מסוג מסוים יש סגירת סוגריים מאותו סוג. כמו כן הסוגריים האחרונות שנפתחות צריכות להיות הראשונות להיסגר. )) (( חוקי () ([]) חוקי ([()]) חוקי ] [ ( לא חוקי אין סוגר ל ( הראשון. ) ( לא חוקי היה צריך לשים לפני (. ) ( ) ] ] [ ) ( ([ חוקי ( [] ( - לא חוקי הסגירה ל לא במקום הנכון. דוגמאות: בדקו שהתכנית שלכם נותנת את התשובה הנכונה על דוגמאות, -7 בנוסף הריצו אותה על דוגמאות נוספות כיד דמיונכם הטובה עליכם. הערה: ניתן להניח שעומק הסוגריים בקלט הוא לכל היותר. 3 הכוונה בעומק הסוגריים הוא מספר המרבי של סוגריים שפתוח בכל נקודה בקלט. )לדוגמא: עבור ()[]()()([()]) העומק הוא (. 3 5

46 שאלה 7: א. כתבו את הפונקציות: ) int ispalindrome( char s[]); 2) void switchletters( char s[] ); 3) void removechar (char s[], char ch); 4) int strstr( char s[], char s2[] ); 5) int string2integer (char s[]); המבצעות את הדברים הבאים )עליכם לקרוא עד סוף השאלה לפני שתתחילו(: מודיעה אם המחרוזת s היא פלינדרום. כלומר, שהמחרוזת מתחילתה לסופה שווה למחרוזת מסופה לתחילתה. הופכת את הסדר של כל זוג תווים במקומות עוקבים, i,i+ במחרוזת s כאשר i אי-זוגי )לדוגמה, עבור המחרוזת abcdef יוחזר.)badcfe אם הסדרה באורך אי-זוגי, אז התו אחרון יישאר במקומו. מוחקת את כל מופעי התו ch מהמחרוזת s תוך כדי צמצום הרווחים שנוצרו. שימו לב להערה בסוף השאלה. מחפשת את המופע הראשון של המחרוזת s2 במחרוזת s ומחזירה את מיקומו או - אם s2 אינו מופיע ב- s. מקבלת מחרוזת המכילה ספרות ומחזירה את המספר השלם המיוצג במחרוזת. ) )2 )3 )4 )5 מה סדר גודל זמן הריצה של כל אחת מהפונקציות שכתבתם, כפונקציה של אורך המחרוזת הנתונה כפרמטר )ב- כפונקציה של אורכי שתי המחרוזות(. הערה: בכתיבת הפונקציות הנ"ל אין להשתמש בפונקציות הספרייה.string.h אם ברצונכם להשתמש בחלק מהן, ממשו אותן בעצמכם. ב. כתבו תכנית הקולטת שורות קלט )עד לקבלת שורה ריקה( לתוך מערך דו-ממדי של תווים, כך שכל שורה של המערך תכיל שורת קלט אחת בתור מחרוזת. אח"כ התוכנית תבצע:. תמחק משורת הקלט הראשונה את כל הרווחים שמופיעים בה. 2. תבדוק אם השורה השנייה היא פלינדרום, ותהפוך את סדר כל זוג תווים בה אם אינה פלינדרום. 3. תחשב את ערך המספר שבשורה השלישית )דאגו שאכן יהיו רק ספרות המרכיבות מספר שלם בשורה השלישית של קובץ הקלט(. 4. תמחק את כל השורות החל מהשורה הרביעית שהמילה "new" מופיעה בהן )דאגו שיהיו לפחות שתי שורות כאלו בקובץ הקלט(, ותצמצם את הרווחים שנוצרו כתוצאה ממחיקת השורות. אפשר להשתמש לשם כך ב-.strcpy שימו לב להערה בסוף השאלה. 5. תדפיס לסיום את הערך שחושב ב- 3, ואח"כ את כל המחרוזות החל באחרונה וכלה בראשונה, כל מחרוזת בשורה נפרדת. לצורך כתיבת התכנית, השתמשו )מלבד )strcpy אך ורק בפונקציות שכתבתם בסעיף א', ובפקודות קלט/פלט. הערה: ניתן להניח כי אורך כל שורה לא עולה על 25 תווים, וכן כי מספר השורות אינו עולה על.

47 י- k שאלה 8: כתבו תכנית המבצעת את הפעולות הבאות: קולטת 2 ציונים לתוך מערך. ממיינת את המערך בסדר עולה חלש לפי ציוני הסטודנטים. מדפיסה את הציונים שבמערך הממוין. k את קריאת הנתונים וכתיבת הפלט יש לבצע בעזרת פונקציות מתאימות. את המיון יש לבצע בעזרת פונקציה המיישמת את האלגוריתם הבא: אלגוריתם מיון הכנסה sort) (insertion בסדר עולה חלש עבור המערך x שגודלו הוא n: האלגוריתם משנה את מערך הקלט בתהליך בן n שלבים. נסמן את המערך בתום השלב ה- k ב- )k x k מתחיל מ- (. בתום השלב ה- k k, האיברים הראשונים במערך x k הם k האיברים הראשונים במערך המקורי x, ]x ]x,...,[0 אבל ממוינים בינם לבין עצמם בסדר עולה חלש. יתר n-k האיברים הם ללא שינוי כלומר ] k. x [ k] x[ k],..., x [ n ] x[ כלומר ] n [0]x )בשלב הראשון לא קרה כלום ולמעשה בתום השלב הראשון, החלק הממוין הוא בגודל ו- [0]x x(. זהה למערך הקלט x המערך [0]x. בתום השלב השני החלק בשלב השני, צריך להכניס את []x למקומו הנכון ביחס ל- [0]x x 2 [], x[0],x[] יהיה שווה לאחד מבין x 2 הממוין הוא בגודל 2 ומכיל את x[0],x[] בלבד. [0] יהיה שווה לערך השני ויתקיים []x2. ]x2 [0 יתר 2-n איברי מערך הקלט ישארו במקומם, כלומר. x 2] x[2],..., x [ n ] x[ n ] 2[ 2 בשלב ה- k,. x ] xk... xk [ למקומו הנכון בין k 2 x[ k ] יש להכניס את, k 2 לשם כך יש: א. למצוא את המקום הנכון של x[k] בחלק הממוין של המערך. ב. "לפנות" מקום ל-[ x[k ע"י הזזה של איברי המערך )אם צריך(. ג. להכניס את x[k] למקום הפנוי.. x [ k] x[ k],..., x [ n ] x[ יתר n-k איברי מערך הקלט ישארו במקומם, כלומר, [ n k 0 k k וכך הלאה עד תום השלב ה- n -י, בו החלק הממוין הוא בגודל n ומכיל את כל איברי המערך. זה יהיה מערך הפלט.,2,,8, x חמשת מערכי הביניים יראו כך: 4,2 x 2,,8, 4,2 x x x x ,2,8, 4,2,2,8, 4,2 4,,2,8,2 4,,2,2,8 דוגמה: אם מערך הקלט הוא הערות: בתוכנית שתכתבו יש לקרוא ראשית את כל הציונים ורק אז להתחיל למיין את המערך שנקרא עפ"י האלגוריתם שתואר לעיל. על מנת לשמור על כלליות הפונקציה שמממשת את האלגוריתם, אין להשתמש במערכי עזר. מהו סדר גודל זמן הריצה )כפונקציה של n( של אלגוריתם המיון שתואר לעיל? נמקו את תשובותיכם. 7

48 שאלה 9: כתבו פונקציה יעילה ככל האפשר: int findchange(int arr[], int n); המקבלת כתובת התחלה של מערך המכיל מספרים שלמים -,arr ואת גודלו n. ידוע ש[ 0 ] arr הוא מספר זוגי וש [-n] arr הוא מספר אי-זוגי, וכן ידוע כי n 2 על הפונקציה להחזיר אינדקס כלשהו i המקיים: arr[i] זוגי ו- [+ i] arr הינו אי-זוגי. למשל עבור המערך: [3,2],4,8,7,5,4 הפונקציה יכולה להחזיר 2 )אשר בו יושב המספר ואחריו 7(, או 5 )אשר בו יושב המספר ואחריו 3(. הערה: יש לתת פתרון שזמן ריצתו הוא סדר גודל של.log(n) שאלה : סדרה נקראת סדרה עולה-יורדת אם איבריה עולים ממש עד שלב מסוים ואז מתחילים לרדת ממש. לדוגמא הסדרה היא סדרה עולה-יורדת. כתבו פונקציה יעילה ככל שתוכלו: int getmaxincdecseq(int arr[],int n); המחשבת את האיבר המכסימלי במערך arr באורך n בהנחה שהוא מכיל סדרה עולה יורדת. מהו סדר גודל זמן הריצה של האלגוריתם שבו השתמשתם כפונקציה של n? נמקו. הערה: יש לתת פתרון שזמן ריצתו הוא יעיל ככל שתוכלו. שאלה : נניח שמוגדר הקבוע הגלובלי.const int N כתבו פונקציה יעילה ככל שתוכלו: void getupperleft(int mat[][n],int n, int& row, int& col); אשר מקבלת מטריצה ריבועית mat בגודל n על n, אשר מכילה רק אפסים )( ואחדים )(. נתון שהמטריצה mat מכילה מלבן ימני תחתון שכל אבריו הם ואילו יתר אברי המטריצה הם. גודל מלבן.. האחדים הוא לפחות על הפונקציה להחזיר, באמצעות הפרמטרים row ו-,col את השורה והעמודה של הפינה השמאלית העליונה במלבן האחדים. למשל, אם mat היא המטריצה הבאה: הקריאה getupperleft(mat,7,row,col) תעדכן את row להיות 3 ואת col להיות. הערה: יש לתת פתרון שזמן ריצתו הוא סדר גודל של.log(n)

49 שאלה 2: א. כתבו פונקציה רקורסיבית: void minmax(int A[], int left, int right, int &min, int &max); כאשר A היא כתובת התחלה של מערך של מספרים שלמים, ו- right left, מכילים אינדקסים חוקיים במערך A. על הפונקציה להחזיר בפרמטרים min, max את המספר הקטן ביותר ואת המספר הגדול ביותר בין האינדקסים left ל- right במערך A. הניחו.left => right ב. כתבו פונקציה רקורסיבית: bool checkdecseq(int A[], int left, int right); כאשר A היא כתובת התחלה של מערך של מספרים שלמים, ו- right left, מכילים אינדקסים חוקיים במערך A. הפונקציה Check תחזיר true אם איברי המערך, בין האינדקסים left ל- right מהווים סדרה יורדת, ותחזיר false אחרת. void reverse(char s[]); שאלה 3: א. כתבו פונקציה רקורסיבית: ההופכת את סדר התווים במחרוזת s. כתבו פונקציה רקורסיבית: void inttostr(unsigned int num, char s[]); המכניסה למערך s את מחרוזת התווים המייצגים את הערך העשרוני של השלם.num ב. הערה: מותר להשתמש לכתיבת הפונקציות בפונקציה strlen מ-.string.h שאלה 4: כתבו פונקציה רקורסיבית: bool havesameelems(int Arr[], int Arr2[], int size); המקבלת שני מערכים, ומספר המציין את הגודל המשותף של שני המערכים. הפונקציה תחזיר true אם"ם שני המערכים מכילים את אותם איברים באותן השכיחויות, אך לאו דווקא באותו הסדר. למשל: עבור 2] [, 2, 6, 5, = Arr עבור ] [, 2, 6, 5, = Arr ו- ] [2, 5, 6, 2, =,Arr2 הפונקציה תחזיר.true ו- ] [2, 5, 6, 2, =,Arr2 הפונקציה תחזיר.false שאלה 5: כתבו פונקציה רקורסיבית: bool subsetsum(int numbers[], int size, int sum); הפונקציה מקבלת מערך של מספרים, את גודלו, ומספר נוסף,.sum הפונקציה תחזיר true אם"ם קיימת איזושהי תת-קבוצה של מספרים מתוך המערך )לאו דווקא רצופה( שסכומה הוא.sum למשל, אם 0] [, 5, 3, 9, = numbers ו- = 4,sum הפונקציה תחזיר true היות ש

50 מצביעים: #include <iostream> using namespace std; שאלה : נתונה התוכנית הבאה: void main() int x = 0;//Assume x is in address 000 in the memory int y = 20; int arr[0] = 3,6,9,2,5,8,2,24,27,30; int* ptr; int* ptr2; הקוד החסר a) b) c) d) בכל אחד מן הסעיפים הבאים נתונה השלמה לקוד החסר. ענו על השאלות הבאות עבור כל אחד מן הסעיפים a עד k. א. האם התוכנית עוברת קומפילציה? אם לא, ציינו מדוע. ב. האם ישנה שגיאה לוגית בתוכנית )לדוגמא חריגת זיכרון, גלישה וכד'(? פרטו. ג. מהו הפלט של התוכנית? )יש להשיב על סעיף זה רק אם התוכנית עוברת קומפילציה( במקומות בהם הפלט אינו ידוע )ערך זבלי( ציינו זאת. הנחה: בלוק הזיכרון המוקצה לתוכנית מתחיל בכתובת, הקצאות הזיכרון מתבצעות ברצף כך שסדרת הכתובות עולה. הערה: הקבוע endl מייצג את התו 'n\'. cout << &y << endl; cout << &ptr << endl; cout << arr; ptr = &x; y = *ptr; cout << ptr << endl; cout << y << endl; cout << &y << endl; *ptr = x; y = *ptr; cout << y; ptr = &x; *ptr = y; cout << x; 5

51 e) f) g) h) i) ptr = &x; *ptr = &y; *ptr = *ptr2; cout << x; ptr = arr + 2; cout << *ptr; ptr = arr; x = *ptr + 2; y = *(ptr + 2); cout << x << endl; cout << y << endl; ptr = arr; arr = ptr; cout << arr[2]; ptr = arr + 2; cout << ptr[0]; ptr++; cout << ptr[0] << endl; cout << ptr[2] << endl; ptr = ptr 2; cout << *ptr << endl; j) k) ptr = arr + 2; ptr[2] = x; cout << arr[2] << endl; cout << arr[4] << endl; *(ptr + 2) = x; ptr + 2 = &x; cout << *(ptr + 2) << endl; cout << ptr + 2 << endl; a ו- b מצביעים. int x=5; int y=3; Swap(&x,&y); cout<<x<<y; שאלה 2: כתבו את הפונקציה: b) void swap(int* a, int* הפונקציה מקבלת שני מצביעים למספרים שלמים ומחליפה את תוכן התאים בזיכרון עליהם לדוגמא, קטע הקוד הבא יגרום להדפסת הספרה 3 ואחריה הספרה 5: 5

חורף תש''ע פתרון בחינה סופית מועד א'

חורף תש''ע פתרון בחינה סופית מועד א' מד''ח 4 - חורף תש''ע פתרון בחינה סופית מועד א' ( u) u u u < < שאלה : נתונה המד''ח הבאה: א) ב) ג) לכל אחד מן התנאים המצורפים בדקו האם קיים פתרון יחיד אינסוף פתרונות או אף פתרון אם קיים פתרון אחד או יותר

Διαβάστε περισσότερα

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur פתרון תרגיל --- 5 מרחבים וקטורים דוגמאות למרחבים וקטורים שונים מושגים בסיסיים: תת מרחב צירוף לינארי x+ y+ z = : R ) בכל סעיף בדקו האם הוא תת מרחב של א } = z = {( x y z) R x+ y+ הוא אוסף הפתרונות של המערכת

Διαβάστε περισσότερα

תרגול פעולות מומצאות 3

תרגול פעולות מומצאות 3 תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה

Διαβάστε περισσότερα

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא

Διαβάστε περισσότερα

סדרות - תרגילים הכנה לבגרות 5 יח"ל

סדרות - תרגילים הכנה לבגרות 5 יחל סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר

Διαβάστε περισσότερα

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( ) פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד a d U c M ( יהי b (R) a b e ל (R M ( (אין צורך להוכיח). מצאו קבוצה פורשת ל. U בדקו ש - U מהווה תת מרחב ש a d U M (R) Sp,,, c a e

Διαβάστε περισσότερα

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin( א. s in(0 c os(0 s in(60 c os(0 s in(0 c os(0 s in(0 c os(0 s in(0 0 s in(70 מתאים לזהות של cos(θsin(φ : s in(θ φ s in(θcos(φ sin ( π cot ( π cos ( 4πtan ( 4π sin ( π cos ( π sin ( π cos ( 4π sin ( 4π

Διαβάστε περισσότερα

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים מבוא: קבוצות מיוחדות של מספרים ממשיים קבוצות של מספרים ממשיים צעד ראשון להצטיינות קבוצה היא אוסף של עצמים הנקראים האיברים של הקבוצה אנו נתמקד בקבוצות של מספרים ממשיים בדרך כלל מסמנים את הקבוצה באות גדולה

Διαβάστε περισσότερα

ל הזכויות שמורות לדפנה וסטרייך

ל הזכויות שמורות לדפנה וסטרייך מרובע שכל זוג צלעות נגדיות בו שוות זו לזו נקרא h באיור שלעיל, הצלעות ו- הן צלעות נגדיות ומתקיים, וכן הצלעות ו- הן צלעות נגדיות ומתקיים. תכונות ה כל שתי זוויות נגדיות שוות זו לזו. 1. כל שתי צלעות נגדיות

Διαβάστε περισσότερα

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד. חידה לחימום ( M ש- N > (כך מספרים טבעיים Mו- N שappleי appleתוappleים בעלי אותה הזוגיות (שappleיהם זוגיים או שappleיהם אי - זוגיים). המספרים הטבעיים מ- Mעד Nמסודרים בשורה, ושappleי שחקappleים משחקים במשחק.

Διαβάστε περισσότερα

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין

Διαβάστε περισσότερα

תרגול 8: מטלאב לולאות

תרגול 8: מטלאב לולאות מבוא למחשב בשפת Matlab : מטלאב לולאות נכתב על-ידי רמי כהן,אולג רוכלנקו, לימור ליבוביץ ואיתן אביאור כל הזכויות שמורות לטכניון מכון טכנולוגי לישראל לולאת while a=input('enter a positive number:'); קליטת

Διαβάστε περισσότερα

סיכום- בעיות מינימוםמקסימום - שאלון 806

סיכום- בעיות מינימוםמקסימום - שאלון 806 סיכום- בעיות מינימוםמקסימום - שאלון 806 בבעיותמינימום מקסימוםישלחפשאתנקודותהמינימוםהמוחלטוהמקסימוםהמוחלט. בשאלות מינימוםמקסימוםחובהלהראותבעזרתטבלה אובעזרתנגזרתשנייהשאכן מדובר עלמינימוםאומקסימום. לצורךקיצורהתהליך,

Διαβάστε περισσότερα

3-9 - a < x < a, a < x < a

3-9 - a < x < a, a < x < a 1 עמוד 59, שאלהמס', 4 סעיףג' תיקוני הקלדה שאלון 806 צריך להיות : ג. מצאאתמקומושלאיברבסדרהזו, שקטןב- 5 מסכוםכלהאיבריםשלפניו. עמוד 147, שאלהמס' 45 ישלמחוקאתהשאלה (מופיעהפעמיים) עמוד 184, שאלהמס', 9 סעיףב',תשובה.

Διαβάστε περισσότερα

תרגיל 13 משפטי רול ולגראנז הערות

תרגיל 13 משפטי רול ולגראנז הערות Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון

Διαβάστε περισσότερα

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת

Διαβάστε περισσότερα

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשעד פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה

Διαβάστε περισσότερα

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשעד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, 635865 מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר 1 נתון: 1. סדרה חשבונית שיש בה n איברים...2 3. האיבר

Διαβάστε περισσότερα

גבול ורציפות של פונקציה סקלרית שאלות נוספות

גבול ורציפות של פונקציה סקלרית שאלות נוספות 08 005 שאלה גבול ורציפות של פונקציה סקלרית שאלות נוספות f ( ) f ( ) g( ) f ( ) ו- lim f ( ) ו- ( ) (00) lim ( ) (00) f ( בסביבת הנקודה (00) ) נתון: מצאו ) lim g( ( ) (00) ננסה להיעזר בכלל הסנדביץ לשם כך

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 12

מתמטיקה בדידה תרגול מס' 12 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע

Διαβάστε περισσότερα

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשעב זהויות טריגונומטריות תרגול חזרה זהויות טריגונומטריות si π α) si α π α) α si π π ), Z si α π α) t α cot π α) t α si α cot α α α si α si α + α siα ± β) si α β ± α si β α ± β) α β si α si β si α si α α α α si α si α α α + α si

Διαβάστε περισσότερα

השאלות..h(k) = k mod m

השאלות..h(k) = k mod m מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 5 השאלות 2. נתונה טבלת ערבול שבה התנגשויות נפתרות בשיטת.Open Addressing הכניסו לטבלה את המפתחות הבאים: 59 88, 17, 28, 15, 4, 31, 22, 10, (מימין לשמאל),

Διαβάστε περισσότερα

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה

Διαβάστε περισσότερα

תרגול מס' 6 פתרון מערכת משוואות ליניארית

תרגול מס' 6 פתרון מערכת משוואות ליניארית אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית

Διαβάστε περισσότερα

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

( )( ) ( ) f : B C היא פונקציה חחע ועל מכיוון שהיא מוגדרת עי. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חחע אז ועל פי הגדרת הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (

Διαβάστε περισσότερα

שאלה 1 V AB פתרון AB 30 R3 20 R

שאלה 1 V AB פתרון AB 30 R3 20 R תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A

Διαβάστε περισσότερα

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m Observabiliy, Conrollabiliy תרגול 6 אובזרווביליות אם בכל רגע ניתן לשחזר את ( (ומכאן גם את המצב לאורך זמן, מתוך ידיעת הכניסה והיציאה עד לרגע, וזה עבור כל צמד כניסה יציאה, אז המערכת אובזרוובילית. קונטרולביליות

Διαβάστε περισσότερα

תרגיל 7 פונקציות טריגונומטריות הערות

תרגיל 7 פונקציות טריגונומטריות הערות תרגיל 7 פונקציות טריגונומטריות הערות. פתרו את המשוואות הבאות. לא מספיק למצוא פתרון אחד יש למצוא את כולם! sin ( π (א) = x sin (ב) = x cos (ג) = x tan (ד) = x) (ה) = tan x (ו) = 0 x sin (x) + sin (ז) 3 =

Διαβάστε περισσότερα

gcd 24,15 = 3 3 =

gcd 24,15 = 3 3 = מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =

Διαβάστε περισσότερα

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 5 שנכתב על-ידי מאיר בכור. חקירת משוואה מהמעלה הראשונה עם נעלם אחד = הצורה הנורמלית של המשוואה, אליה יש להגיע, היא: b

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #11

מבני נתונים ואלגוריתמים תרגול #11 מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ.

Διαβάστε περισσότερα

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה. בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית

Διαβάστε περισσότερα

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 6 נושא: תחשיב הפסוקים: הפונקציה,val גרירה לוגית, שקילות לוגית 1. כיתבו טבלאות אמת לפסוקים הבאים: (ג) r)).((p q) r) ((p r) (q p q r (p

Διαβάστε περισσότερα

{ : Halts on every input}

{ : Halts on every input} אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.

Διαβάστε περισσότερα

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב

Διαβάστε περισσότερα

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות 1. מצאו צורה דיסיונקטיבית נורמלית קנונית לפסוקים הבאים: (ג)

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשעו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים: לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( 2016 2015 )............................................................................................................. חלק ראשון: שאלות שאינן להגשה.1

Διαβάστε περισσότερα

אוסף שאלות מס. 3 פתרונות

אוסף שאלות מס. 3 פתרונות אוסף שאלות מס. 3 פתרונות שאלה מצאו את תחום ההגדרה D R של כל אחת מהפונקציות הבאות, ושרטטו אותו במישור. f (x, y) = x + y x y, f 3 (x, y) = f (x, y) = xy x x + y, f 4(x, y) = xy x y f 5 (x, y) = 4x + 9y 36,

Διαβάστε περισσότερα

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט. פרק סיבוכיות פרק סיבוכיות המושג יעילות מהו? במדעי המחשב היעילות נמדדת בעזרת מדדי סיבוכיות, החשובים שבהם: של אלגוריתמים יעילותם תוכן הפרק: יעילות מהי (זיכרון וזמן, זמן ריצה T( של אלגוריתם מהו, מהם case,

Διαβάστε περισσότερα

Logic and Set Theory for Comp. Sci.

Logic and Set Theory for Comp. Sci. 234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =

Διαβάστε περισσότερα

תורת הגרפים - סימונים

תורת הגרפים - סימונים תורת הגרפים - סימונים.n = V,m = E בהינתן גרף,G = V,E נסמן: בתוך סימוני ה O,o,Ω,ω,Θ נרשה לעצמנו אף להיפטר מהערך המוחלט.. E V,O V + E כלומר, O V + E נכתוב במקום אם כי בכל מקרה אחר נכתוב או קשת של גרף לא

Διαβάστε περισσότερα

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

s קמ קמש מ - A A מ - מ - 5 p vp v= את זמני הליכת הולכי הרגל עד הפגישות שלהם עם רוכב האופניים (שעות). בגרות ע מאי 0 מועד קיץ מבוטל שאלון 5006 מהירות - v קמ"ש t, א. () נסמן ב- p נכניס את הנתונים לטבלה מתאימה: רוכב אופניים עד הפגישה זמן -

Διαβάστε περισσότερα

מצולעים מצולעהוא צורה דו ממדית,עשויה קו"שבור"סגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. לדוגמה:בסרטוט שלפappleיכם EC אלכסוןבמצולע.

מצולעים מצולעהוא צורה דו ממדית,עשויה קושבורסגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. לדוגמה:בסרטוט שלפappleיכם EC אלכסוןבמצולע. גיאומטריה מצולעים מצולעים מצולעהוא צורה דו ממדית,עשויה קו"שבור"סגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. אלכסון במצולע הוא הקו המחבר בין שappleי קדקודים שאיappleם סמוכים זה לזה. לדוגמה:בסרטוט שלפappleיכם

Διαβάστε περισσότερα

מבני נתונים מבחן מועד ב' סמסטר חורף תשס"ו

מבני נתונים מבחן מועד ב' סמסטר חורף תשסו TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון - מכון טכנולוגי לישראל הפקולטה למדעי המחשב מרצים: רן אל-יניב, נאדר בשותי מבני נתונים 234218-1 מבחן מועד ב' סמסטר חורף תשס"ו

Διαβάστε περισσότερα

משפטי בקרה ולולאות שעור מס. 3 כל הזכויות שמורות דר' דרור טובי המרכז האוניברסיטאי אריאל

משפטי בקרה ולולאות שעור מס. 3 כל הזכויות שמורות דר' דרור טובי המרכז האוניברסיטאי אריאל משפטי בקרה ולולאות שעור מס. 3 דרור טובי דר' 1 כל הזכויות שמורות דר' דרור טובי המרכז האוניברסיטאי אריאל - הקדמה משפט התנאי if המשימה: ברצוננו לכתוב תוכנית המקבלת שני מספרים בסדר כל שהוא ולהדפיס אותם בסדר

Διαβάστε περισσότερα

מבני בקרה ב C שעור מס. 2 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

מבני בקרה ב C שעור מס. 2 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון. מבני בקרה ב C שעור מס. 2 דרור טובי דר' 1 פקודת if הוראה תנאי True (1) False (0) if ( grade >= 60 ) cout = 60 ) { cout

Διαβάστε περισσότερα

x a x n D f (iii) x n a ,Cauchy

x a x n D f (iii) x n a ,Cauchy גבולות ורציפות גבול של פונקציה בנקודה הגדרה: קבוצה אשר מכילה קטע פתוח שמכיל את a תקרא סביבה של a. קבוצה אשר מכילה קטע פתוח שמכיל את a אך לא מכילה את a עצמו תקרא סביבה מנוקבת של a. יהו a R ו f פונקציה מוגדרת

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 5

מתמטיקה בדידה תרגול מס' 5 מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון

Διαβάστε περισσότερα

מבני נתונים מדעי המחשב שאלון: מועד ב' תשע"ו מדעי המחשב פתרון בחינת הבגרות. Java שאלה 1. blog.csit.org.

מבני נתונים מדעי המחשב שאלון: מועד ב' תשעו מדעי המחשב פתרון בחינת הבגרות. Java שאלה 1. blog.csit.org. 1 פתרון בחינת הבגרות פרק ראשון - )יסודות( Java שאלה 1 C# 6 Java שאלה 2 ב. פלט a a1 A A 4 + 5 = 9 4 + 5 = 9 n1 n2 n1 n2 8 + 9 = 17? 4? 5 4 8 5 9 3 :C# שאלה 2 פלט a a1 A A 4 + 5 = 9 4 + 5 = 9 n1 n2 n1 n2

Διαβάστε περισσότερα

אלגוריתמים ללכסון מטריצות ואופרטורים

אלגוריתמים ללכסון מטריצות ואופרטורים אלגוריתמים ללכסון מטריצות ואופרטורים לכסון מטריצות יהי F שדה ו N n נאמר שמטריצה (F) A M n היא לכסינה אם היא דומה למטריצה אלכסונית כלומר, אם קיימת מטריצה הפיכה (F) P M n כך ש D P AP = כאשר λ λ 2 D = λ n

Διαβάστε περισσότερα

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME הנדסת המישור - תרגילים הכנה לבגרות תרגילים הנדסת המישור - תרגילים הכנה לבגרות באמצעות Q תרגיל 1 מעגל העובר דרך הקודקודים ו- של המקבילית ו- חותך את האלכסונים שלה בנקודות (ראה ציור) מונחות על,,, הוכח כי

Διαβάστε περισσότερα

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim

Διαβάστε περισσότερα

קיום ויחידות פתרונות למשוואות דיפרנציאליות

קיום ויחידות פתרונות למשוואות דיפרנציאליות קיום ויחידות פתרונות למשוואות דיפרנציאליות 1 מוטיבציה למשפט הקיום והיחידות אנו יודעים לפתור משוואות דיפרנציאליות ממחלקות מסוימות, כמו משוואות פרידות או משוואות לינאריות. עם זאת, קל לכתוב משוואה דיפרנציאלית

Διαβάστε περισσότερα

תכנות מתקדם בשפת C חוברת תרגילים - 1 -

תכנות מתקדם בשפת C חוברת תרגילים - 1 - תכנות מתקדם בשפת C חוברת תרגילים - 1 - קלט פלט. MaxMult MaxMult שאלה 1. 10 א. כתבו תוכנית המדפיסה לוח כפל בגודל 10 ב. כתבו תוכנית המקבלת מספר,,MaxMult ומדפיסה לוח כפל בגודל לדוגמא עבור: MaxMult=4 יודפס:

Διαβάστε περισσότερα

אלגברה מודרנית פתרון שיעורי בית 6

אלגברה מודרנית פתרון שיעורי בית 6 אלגברה מודרנית פתרון שיעורי בית 6 15 בינואר 016 1. יהי F שדה ויהיו q(x) p(x), שני פולינומים מעל F. מצאו פולינומים R(x) S(x), כך שמתקיים R(x),p(x) = S(x)q(x) + כאשר deg(q),deg(r) < עבור המקרים הבאים: (תזכורת:

Διαβάστε περισσότερα

אלגברה לינארית (1) - פתרון תרגיל 11

אלגברה לינארית (1) - פתרון תרגיל 11 אלגברה לינארית ( - פתרון תרגיל דרגו את המטריצות הבאות לפי אלגוריתם הדירוג של גאוס (א R R4 R R4 R=R+R R 3=R 3+R R=R+R R 3=R 3+R 9 4 3 7 (ב 9 4 3 7 7 4 3 9 4 3 4 R 3 R R3=R3 R R 4=R 4 R 7 4 3 9 7 4 3 8 6

Διαβάστε περισσότερα

הגדרה: מצבים k -בני-הפרדה

הגדרה: מצבים k -בני-הפרדה פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון

Διαβάστε περισσότερα

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות אלגוריתמים חמדניים אלגוריתם חמדן, הוא כזה שבכל צעד עושה את הבחירה הטובה ביותר האפשרית, ולא מתחרט בהמשך גישה זו נראית פשטנית מדי, וכמובן שלא תמיד היא נכונה, אך במקרים רבים היא מוצאת פתרון אופטימאלי בתרגול

Διαβάστε περισσότερα

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד סמסטר: א' מועד: א' תאריך: יום ה' 0100004 שעה: 04:00 משך הבחינה: שלוש שעות חומר עזר: אין בבחינה שני פרקים בפרק הראשון 8 שאלות אמריקאיות ולכל אחת מהן מוצעות

Διαβάστε περισσότερα

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.

Διαβάστε περισσότερα

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r ל' ' פונקציות פרימיטיביות רקורסיביות חישוביות הרצאה 4 האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית? לא נראה שתי הוכחות: פונקציות רקורסיביות (המשך) זיהוי שפות ע''י מכונות טיורינג הוכחה קיומית: קיימות פונקציות

Διαβάστε περισσότερα

רשימת משפטים והגדרות

רשימת משפטים והגדרות רשימת משפטים והגדרות חשבון אינפיניטיסימאלי ב' מרצה : למברג דן 1 פונקציה קדומה ואינטגרל לא מסויים הגדרה 1.1. (פונקציה קדומה) יהי f :,] [b R פונקציה. פונקציה F נקראת פונקציה קדומה של f אם.[, b] גזירה ב F

Διαβάστε περισσότερα

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1 1 טורים כלליים 1. 1 התכנסות בהחלט מתכנס. מתכנס בהחלט אם n a הגדרה.1 אומרים שהטור a n משפט 1. טור מתכנס בהחלט הוא מתכנס. הוכחה. נוכיח עם קריטריון קושי. יהי אפסילון גדול מ- 0, אז אנחנו יודעים ש- n N n>m>n

Διαβάστε περισσότερα

ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי

ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי ננסה להשתמש בכך שהפונקציה היא רקורסיבית על מנת לרשום גם עבור הסיבוכיות ביטוי רקורסיבי. factorial() 3 מתחילים מכתיבת ביטוי לא מפורש ל-( T( ביטוי רקורסיבי

Διαβάστε περισσότερα

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t. תכנון אלגוריתמים 2016 עבודה 1 פתרון שאלה 1 נזכר כי בגרף (E G, =,V) עבור שני קודקודים d(u, (v,u, v הוא אורך מסלול קצר ביותר מ u ל v. אם אין מסלול מ u ל.d(u, v) =,v נתונות שתי בעיות. בעיה א' מופע: גרף מכוון

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשעו (2016) לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)............................................................................................................. חלק ראשון: שאלות שאינן להגשה 1. עבור

Διαβάστε περισσότερα

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p; מבני נתונים פתרונות לסט שאלות דומה לשאלות בנושאים () זמני ריצה של פונקציות רקורסיביות () מיונים השאלות פתרו את נוסחאות הנסיגה בסעיפים א-ג על ידי הצבה חוזרת T() כאשר = T() = T( ) + log T() = T() כאשר =

Διαβάστε περισσότερα

תכנות בשפת C פרק שלישי: בקרת זרימה שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות

תכנות בשפת C פרק שלישי: בקרת זרימה שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות תכנות בשפת C פרק שלישי: בקרת זרימה שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות תזכורת: שימוש במשתנים מהו משתנה הגדרת משתנים ;int i ; char c= a קלט/פלט

Διαβάστε περισσότερα

TECHNION Israel Institute of Technology, Faculty of Mechanical Engineering מבוא לבקרה (034040) גליון תרגילי בית מס 5 ציור 1: דיאגרמת הבלוקים

TECHNION Israel Institute of Technology, Faculty of Mechanical Engineering מבוא לבקרה (034040) גליון תרגילי בית מס 5 ציור 1: דיאגרמת הבלוקים TECHNION Iael Intitute of Technology, Faculty of Mechanical Engineeing מבוא לבקרה (034040) גליון תרגילי בית מס 5 d e C() y P() - ציור : דיאגרמת הבלוקים? d(t) ו 0 (t) (t),c() 3 +,P() + ( )(+3) שאלה מס נתונה

Διαβάστε περισσότερα

אלגברה ליניארית (1) - תרגיל 6

אלגברה ליניארית (1) - תרגיל 6 אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,

Διαβάστε περισσότερα

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE סמסטר אביב תשס"ו מס' סטודנט:

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE סמסטר אביב תשסו מס' סטודנט: TECHNION ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב מבני נתונים 234218 1 מבחן מועד ב ' סמסטר אביב תשס"ו מרצה: אהוד ריבלין מתרגלים: איתן

Διαβάστε περισσότερα

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

Διαβάστε περισσότερα

2 יח"ל ) השלמה ל - 5 יח"ל) (50 נקודות) מעבר חוקי, ו-'שקר' אחרת.

2 יחל ) השלמה ל - 5 יחל) (50 נקודות) מעבר חוקי, ו-'שקר' אחרת. 1 6 מאי, 2004 מועד הבחינה: 2 יח"ל ) השלמה ל - 5 יח"ל) פרק ראשון (50 נקודות) :1 Ï (מקור: שירלי רוזנברג כהן) נגדיר טיפוס נתונים חדש בשם תלת-מחסנית, כמבנה המכיל 3 מחסניות S3. S2, S1, נגדיר את הפעולות הבאות

Διαβάστε περισσότερα

טריגונומטריה הגדרות הפונקציות הטריגונומטריות הבסיסיות

טריגונומטריה הגדרות הפונקציות הטריגונומטריות הבסיסיות טריגונומטריה הגדרות הפונקציות הטריגונומטריות הבסיסיות את הפונקציות הטריגונומטריות ניתן להגדיר באמצעות הקשרים בין הניצבים לבין היתר ובין הניצבים עצמם במשולש ישר זווית בלבד: לדוגמה: סינוס זווית BAC (אלפא)

Διαβάστε περισσότερα

אלגברה לינארית מטריצות מטריצות הפיכות

אלגברה לינארית מטריצות מטריצות הפיכות מטריצות + [( αij+ β ij ] m λ [ λα ij ] m λ [ αijλ ] m + + ( + +C + ( + C i C m q m q ( + C C + C C( + C + C λ( ( λ λ( ( λ (C (C ( ( λ ( + + ( λi ( ( ( k k i חיבור מכפלה בסקלר מכפלה בסקלר קומוטטיב אסוציאטיב

Διαβάστε περισσότερα

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים ( תכנון ניסויים כאשר קיימת אישביעות רצון מהמצב הקיים (למשל כשלים חוזרים בבקרת תהליכים סטטיסטית) נחפש דרכים לשיפור/ייעול המערכת. ניתן לבצע ניסויים על גורם בודד, שני גורמים או יותר. ניסויים עם גורם בודד: נבצע

Διαβάστε περισσότερα

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון.

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון. Charles Augustin COULOMB (1736-1806) קולון חוק חוקקולון, אשרנקראעלשםהפיזיקאיהצרפתישארל-אוגוסטיןדהקולוןשהיהאחדהראשוניםשחקרבאופןכמותיאתהכוחותהפועלים ביןשניגופיםטעונים. מדידותיוהתבססועלמיתקןהנקראמאזניפיתול.

Διαβάστε περισσότερα

co ארזים 3 במרץ 2016

co ארזים 3 במרץ 2016 אלגברה לינארית 2 א co ארזים 3 במרץ 2016 ניזכר שהגדרנו ווקטורים וערכים עצמיים של מטריצות, והראינו כי זהו מקרה פרטי של ההגדרות עבור טרנספורמציות. לכן כל המשפטים והמסקנות שהוכחנו לגבי טרנספורמציות תקפים גם

Διαβάστε περισσότερα

לולאות קבוע, פסוק while פסוק do-while פסוק for

לולאות קבוע, פסוק while פסוק do-while פסוק for מבוא למחשב בשפת C הרצאה 5 : לולאות מבוססעלהשקפיםשחוברוע"ישיארצי, גיתיתרוקשטיין, איתןאביאור וסאהראסמירעבורהקורס "מבואלמדעיהמחשב". נכתב על-ידי טל כהן, נערך ע"י איתן אביאור. כלהזכויותשמורותלטכניון מכוןטכנולוגילישראל

Διαβάστε περισσότερα

סימני התחלקות ב 3, ב 6 וב 9

סימני התחלקות ב 3, ב 6 וב 9 סימני התחלקות ב 3, ב 6 וב 9 תוכן העניינים מבוא לפרק "סימני התחלקות" ב 3, ב 6 וב 9............ 38 א. סימני ההתחלקות ב 2, ב 5 וב 10 (חזרה)............ 44 ב. סימן ההתחלקות ב 3..............................

Διαβάστε περισσότερα

(ספר לימוד שאלון )

(ספר לימוד שאלון ) - 40700 - פתרון מבחן מס' 7 (ספר לימוד שאלון 035804) 09-05-2017 _ ' i d _ i ' d 20 _ i _ i /: ' רדיוס המעגל הגדול: רדיוס המעגל הקטן:, לכן שטח העיגול הגדול: / d, לכן שטח העיגול הקטן: ' d 20 4 D 80 Dd 4 /:

Διαβάστε περισσότερα

אינפי - 1 תרגול בינואר 2012

אינפי - 1 תרגול בינואר 2012 אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,

Διαβάστε περισσότερα

אלגברה ליניארית 1 א' פתרון 2

אלגברה ליניארית 1 א' פתרון 2 אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק

Διαβάστε περισσότερα

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם. 7.8.2017 מבחן מועד ב' תאריך הבחינה: שמות המרצים: מר בועז ארד פרופ' עמוס ביימל מר יהונתן כהן דר' עדן כלמטץ' גב' מיכל שמש אנא קיראו היטב את ההוראות שלהלן: שם הקורס: תכנון אלגוריתמים מספר הקורס: 202-1-2041

Διαβάστε περισσότερα

מבני נתונים מבחן מועד א' סמסטר חורף תשס"ו

מבני נתונים מבחן מועד א' סמסטר חורף תשסו TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון - מכון טכנולוגי לישראל הפקולטה למדעי המחשב מרצים: רן אל-יניב, נאדר בשותי מבני נתונים 234218-1 מבחן מועד א' סמסטר חורף תשס"ו

Διαβάστε περισσότερα

אלגוריתמים 1, סמסטר אביב 2017

אלגוריתמים 1, סמסטר אביב 2017 BFS, DFS, Topological Sort תרגיל בית 1 מוסכמות והנחות להלן רשימת הנחות ומוסכמות אשר תקפות לכל השאלות, אלא אם כן נכתב אחרת במפורש בגוף השאלה. עליכם להוכיח נכונות ולנתח סיבוכיות עבור כל אלגוריתם מוצע. במידה

Διαβάστε περισσότερα

"קשר-חם" : לקידום שיפור וריענון החינוך המתמטי

קשר-חם : לקידום שיפור וריענון החינוך המתמטי הטכניון - מכון טכנולוגי לישראל המחלקה להוראת הטכנולוגיה והמדעים "קשר-חם" : לקידום שיפור וריענון החינוך המתמטי נושא: חקירת משוואות פרמטריות בעזרת גרפים הוכן ע"י: אביבה ברש. תקציר: בחומר מוצגת דרך לחקירת

Διαβάστε περισσότερα

Domain Relational Calculus דוגמאות. {<bn> dn(<dn, bn> likes dn = Yossi )}

Domain Relational Calculus דוגמאות. {<bn> dn(<dn, bn> likes dn = Yossi )} כללים ליצירת נוסחאות DRC תחשיב רלציוני על תחומים Domain Relational Calculus DRC הואהצהרתי, כמוSQL : מבטאיםבורקמהרוציםשתהיההתוצאה, ולא איךלחשבאותה. כלשאילתהב- DRC היאמהצורה )} i,{ F(x 1,x

Διαβάστε περισσότερα

התפלגות χ: Analyze. Non parametric test

התפלגות χ: Analyze. Non parametric test מבחני חי בריבוע לבדיקת טיב התאמה דוגמא: זורקים קוביה 300 פעמים. להלן התוצאות שהתקבלו: 6 5 4 3 2 1 תוצאה 41 66 45 56 49 43 שכיחות 2 התפלגות χ: 0.15 התפלגות חי בריבוע עבור דרגות חופש שונות 0.12 0.09 0.06

Διαβάστε περισσότερα

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A ) הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y

Διαβάστε περισσότερα

פרק 13 רקורסיה רקורסיה רקורסיה רקורסיות פשוטות: חישוב עצרת. תמונת המחסנית ב-() factorial רקורסיות פשוטות: פיבונאצ'י

פרק 13 רקורסיה רקורסיה רקורסיה רקורסיות פשוטות: חישוב עצרת. תמונת המחסנית ב-() factorial רקורסיות פשוטות: פיבונאצ'י פרק 3 רקורסיה רקורסיה נכתב ע"י רן רובינשטיין עודכן ע"י איתי שרון רקורסיה הינה שיטה לתכנון אלגוריתמים, שבה הפתרון לקלט כלשהו מתקבל על ידי פתרון אותה הבעיה בדיוק על קלט פשוט יותר, והרחבת פתרון זה לאחר מכן

Διαβάστε περισσότερα

תאריך הבחינה: שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס:

תאריך הבחינה: שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס: תאריך הבחינה:... נובה פנדינה שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס:..00 מספר הקורס:. סמסטר: א' מועד: שנה: שלוש שעות משך הבחינה: ללא חומר עזר חומר עזר: ב' הנחיות חשובות: רצוי לפתור את

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 7

מודלים חישוביים תרגולמס 7 מודלים חישוביים תרגולמס 7 13 באפריל 2016 נושאי התרגול: מכונת טיורינג. 1 מכונת טיורינג נעבור לדבר על מודל חישוב חזק יותר (ובמובן מסוים, הוא מודל החישוב הסטנדרטי) מכונות טיורינג. בניגוד למודלים שראינו עד

Διαβάστε περισσότερα

. {e M: x e} מתקיים = 1 x X Y

. {e M: x e} מתקיים = 1 x X Y שימושי זרימה פרק 7.5-13 ב- Kleinberg/Tardos שידוך בגרף דו-צדדי עיבוד תמונות 1 בעיית השידוך באתר שידוכים רשומים m נשים ו- n גברים. תוכנת האתר מאתרת זוגות מתאימים. בהינתן האוסף של ההתאמות האפשריות, יש לשדך

Διαβάστε περισσότερα

מבני נתונים ויעילות אלגוריתמים

מבני נתונים ויעילות אלגוריתמים מבני נתונים ויעילות אלגוריתמים (8..05). טענה אודות סדר גודל. log טענה: מתקיים Θ(log) (!) = הוכחה: ברור שמתקיים: 3 4... 4 4 4... 43 פעמים במילים אחרות:! נוציא לוגריתם משני האגפים: log(!) log( ) log(a b

Διαβάστε περισσότερα

תורת הקבוצות תרגיל בית 2 פתרונות

תורת הקבוצות תרגיל בית 2 פתרונות תורת הקבוצות תרגיל בית 2 פתרונות חיים שרגא רוזנר כ"ה בניסן, תשע"ה תזכורות תקציר איזומורפיזם סדר, רישא, טרנזיטיביות, סודרים, השוואת סודרים, סודר עוקב, סודר גבולי. 1. טרנזיטיבות וסודרים קבוצה A היא טרנזיטיבית

Διαβάστε περισσότερα

C תפשב םדקתמ תונכת םיליגרת תרבוח - - 1

C תפשב םדקתמ תונכת םיליגרת תרבוח - - 1 תכנות מתקדם בשפת C חוברת תרגילים - 1 - קלט פלט. MaxMult MaxMult שאלה 1. 10 א. כתבו תוכנית המדפיסה לוח כפל בגודל 10 ב. כתבו תוכנית המקבלת מספר,,MaxMult ומדפיסה לוח כפל בגודל לדוגמא עבור: MaxMult=4 יודפס:

Διαβάστε περισσότερα

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות תורת המספרים סיכום הגדרות טענות ומשפטים אביב 017 1 פירוק לגורמים ראשוניים 1.1 הגדרות חוג A C נקראת חוג אם: היא מכילה את 0 ואת 1 סגורה תחת חיבור, חיסור, וכפל הפיך A חוג. a A נקרא הפיך אם 0,a.a 1 A קבוצת

Διαβάστε περισσότερα

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל תכנון אלגוריתמים, אביב, תרגול מס' תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (6..(CLR ראשית נראה דוגמא:. A, A, A, A נסמן את גודל המטריצות בסדרה ע"י סדרת גדלים כאשר, p 5 5 p היא

Διαβάστε περισσότερα

-107- גיאומטריה זוויות מבוא מטרתנו בפרק זה היא לחזור על המושגים שנלמדו ולהעמיק את הלימוד בנושא זה.

-107- גיאומטריה זוויות מבוא מטרתנו בפרק זה היא לחזור על המושגים שנלמדו ולהעמיק את הלימוד בנושא זה. -07- בשנים קודמות למדתם את נושא הזוויות. גיאומטריה זוויות מבוא מטרתנו בפרק זה היא לחזור על המושגים שנלמדו ולהעמיק את הלימוד בנושא זה. זווית נוצרת על-ידי שתי קרניים היוצאות מנקודה אחת. הנקודה נקראת קדקוד

Διαβάστε περισσότερα